如何在ASP.NET MVC中禁用Action的安全性?

时间:2010-09-06 17:43:45

标签: asp.net asp.net-mvc-2 forms-authentication

我的要求是只能从匿名用户访问登录页面和注册页面。 我使用VS2008中的默认模板创建了一个新的ASP.NET MVC项目。

之后我启用了安全性,将此部分添加到Web配置:

    <authorization>
        <deny users="?" />
    </authorization>

由于启用了安全性,现在无法再访问“注册操作”。我如何才能为该Action禁用安全性?

由于

3 个答案:

答案 0 :(得分:6)

我建议您使用[Authorize]属性来控制哪些操作/控制器需要身份验证,而不是使用web.config。这样,如果您决定修改路线,您的授权规则就不容易出错。

答案 1 :(得分:3)

您需要使用控制器操作的Authorize属性来限制Controller或Action级别的访问权限:

http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx

答案 2 :(得分:1)

在ASP.NET MVC 4的上下文中:您可以在控制器类上使用Authorize属性启用授权,然后禁用具有AllowAnonymous属性的特定操作。