5
授权具有多个角色的属性
我想一次为多个角色的控制器添加授权。 通常情况如下: [Authorize(Roles = "RoleA,RoleB,RoleC")] public async Task<ActionResult> Index() { } 但是我将我的角色存储在const中,因为它们有时可能会更改或扩展。 public const RoleA = "RoleA"; public const RoleB = "RoleB"; public const RoleC = "RoleC"; 我不能这样做,因为必须在编译时知道该字符串: [Authorize(Roles = string.join(",",RoleA,RoleB,RoleC)] public async Task<ActionResult> Index() { } 有办法解决这个问题吗? 我可以编写一个仅包含“ RoleA,RoleB,RoleC”的const-但我不喜欢魔术字符串,这是一个魔术字符串。更改角色名称而忘记更改组合字符串将是一场灾难。 我正在使用MVC5。在编译时就知道ASP.NET身份和角色。