根据授权角色创建一个固定值的“字符串字段”?
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 角色是一个例子,你应该使用你自己的模型以上是关于根据授权角色创建一个固定值的“字符串字段”?的主要内容,如果未能解决你的问题,请参考以下文章
业务逻辑:完成认证用户的动态授权功能 完成Shiro整合Ehcache缓存权限数据