自定义授权属性捕获请求的角色

时间:2012-07-13 15:31:34

标签: c# asp.net-mvc-3 authorization forms-authentication

制作自定义[Authorize]属性是否有办法捕获所请求的角色?

因此,在[Auth(Roles = "IgnoreAuth")]的情况下,自定义Auth内部是否有某种方法能够以某种方式捕获"IgnoreAuth"

1 个答案:

答案 0 :(得分:1)

Roles位于AuthorizeAttribute基类中。因此,您只需从您的自定义Auth中访问它:

public class AuthAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        var roles = this.Roles;
    }
}

只是要澄清一下,无论何时执行[Auth(Roles =“IgnoreAuth”)],您只需在AuthorizeAttribute中设置Roles属性。