基于对象中的属性限制用户对控制器的访问(asp.net mvc)

时间:2011-03-21 06:49:42

标签: asp.net asp.net-mvc

控制用户对控制器的访问权限的最佳方法是什么。我有一个带有属性的本地User对象(boolean - “IsSubscribed”)。如果值为true,则用户只能访问控制器。

注意:

我使用表单身份验证,但没有.net成员资格/个人资料等。

mvc version 2

1 个答案:

答案 0 :(得分:2)

您可以编写自定义Authroize属性:

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        var isAuthorized = base.AuthorizeCore(httpContext);
        if (isAuthorized)
        {
            // Perform your custom authorization and return true/false
        }
        return isAuthorized;
    }
}

然后用这个属性装饰你的控制器/动作。