我有一个名为StringResources的类,它提供对静态字符串值的访问.我遇到了同样的问题并以下列方式解决了问题.我从AuthorizeAttribute类继承并为AuthorizeCore方法添加了方法覆盖.该方法的功能调用了IsInRole()并传入静态字符串属性.这就是诀窍.唯一的问题是必须为每个角色创建单独的类(或者以业务逻辑规定的任何方式为角色组合创建).
public class SystemAdministratorAuthorizationRequiredAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(System.Security.Principal.IPrincipal user) { return user.IsInRole( StringResources.AdministrationViewsStrings.SystemAdministratorRoleName ); } }