根据授权角色创建一个固定值的“字符串字段”?

Posted

技术标签:

【中文标题】根据授权角色创建一个固定值的“字符串字段”?【英文标题】:Create a fixed value "string field" based on Authrized Roles? 【发布时间】:2015-02-05 20:10:08 【问题描述】:

我是 MVC5 新手,我想限制 Create 方法显示一个基于 Role 具有固定值的字符串字段。

更详细地说,我想根据 UserRole 将 Region 参数设置为“Jeddah, Riyadh, Alahsa”的固定值。如果角色 JeddahAdminAssitant 中的用户只能创建具有吉达地区等的新员工,请帮助?

我怎样才能实现它。 我搜索了很多,我发现我可以通过在创建视图中添加 Java 脚本来做到这一点。 低于我尝试过的

<script type="text/javascript">
    if ($(Role) == 'JeddahAdminAssitant') 
        $('input[Region="Jeddah"]').prop("disabled", true);
    
    else 
        $('input[Region="Riyadh"]').prop("disabled", false);
    
</script>
@using (html.BeginForm("Create", "Employees", FormMethod.Post, new  enctype = "multipart/form-data" ))

【问题讨论】:

【参考方案1】:

您可以将角色信息传递给您的视图

@model Role

<script type="text/javascript">
    var roleName = '@Model.RoleName';

    if (roleName == 'JeddahAdminAssitant') 
    $('input[Region="Jeddah"]').prop("disabled", true);
    
    else 
        $('input[Region="Riyadh"]').prop("disabled", false);
    
</script>
@using (Html.BeginForm("Create", "Employees", FormMethod.Post, new  enctype = "multipart/form-data" ))

或者您可以使用角色信息来创建 html 元素。例如

@if(Model.RoleName == "...")
    <input ..../>

【讨论】:

当我尝试添加 @model 角色但它给了我错误 解析器错误描述:解析服务该请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当地修改您的源文件。解析器错误消息:文件中只允许使用一个“模型”语句。有什么建议吗? @model 角色是一个例子,你应该使用你自己的模型

以上是关于根据授权角色创建一个固定值的“字符串字段”?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle用户授权角色管理

MVC5 中的授权/角色

业务逻辑:完成认证用户的动态授权功能 完成Shiro整合Ehcache缓存权限数据

角度4应用程序的动态角色和权限授权

在 BigQuery 中对具有 DateTime 值的字符串字段进行范围查询

如何在 AngularJS 中处理基于角色的授权?