加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – MVC配置授权角色值和强类型角色

发布时间:2020-12-16 06:23:29 所属栏目:asp.Net 来源:网络整理
导读:为了授权特定角色的控制器,控制器类需要以下属性: [Authorize(Roles = "SampleRole")] 这要求角色名称在Controller上进行硬编码,并且似乎不是一个灵活的解决方案. 我的问题是,可以在web.config中指定该角色的值并在控制器中使用该键吗? appSettings add ke
为了授权特定角色的控制器,控制器类需要以下属性:

[Authorize(Roles = "SampleRole")]

这要求角色名称在Controller上进行硬编码,并且似乎不是一个灵活的解决方案.
我的问题是,可以在web.config中指定该角色的值并在控制器中使用该键吗?

<appSettings>
    <add key="SampleRoleKey" value="SampleRole" /> 
    ...
</appSettings>

在控制器中,

[Authorize(Roles = "SampleRoleKey")]

另一个问题是,我们可以使用强类型角色来授权控制器吗?

解决方法

使用带有公共const的静态类:

public static class Roles
{
    public const string SampleRoleKey = "SampleRole";
}

创建从AuthorizeAttribute派生的自定义MyAuthorizeAttribute,以获得可以处理字符串数组的属性,然后:

[MyAuthorize(MyRoles = new[]{ Roles.SampleRoleKey }]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读