如何禁用 ASP.NET MVC 中操作的安全性?
我的要求是匿名用户只能访问登录页面和注册页面。 我使用 VS2008 中的默认模板创建了一个新的 ASP.NET MVC 项目。
之后,我启用了安全性,将此部分添加到 Web 配置中:
<authorization>
<deny users="?" />
</authorization>
现在,由于启用了安全性,因此无法再访问注册操作。我该如何仅禁用该操作的安全性?
谢谢
My requirement is that only the login page and the Register page should be accessible from anonymous users.
I have created a new ASP.NET MVC project using the default template in VS2008.
After that I have enabled security adding this section to the web config:
<authorization>
<deny users="?" />
</authorization>
Now the Register Action is not accessible anymore because of the security enabled. How I can do to disable security only for that Action?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我建议您使用
[Authorize]< /code>
属性来控制哪些操作/控制器需要身份验证,而不是使用
web.config
。这样,如果您决定修改路由,您的授权规则就不易出错。I would recommend you using the
[Authorize]
attribute to control which actions/controllers require authentication instead of usingweb.config
. This way your authorization rules are less vulnerable to errors if you decide to modify your routes.您需要在控制器操作上使用
Authorize
属性来限制控制器或操作级别的访问:http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx
You will want to use the
Authorize
attribute on your controller actions to restrict access at the Controller or Action level:http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx
在 ASP.NET MVC 4 的上下文中:您可以使用 在控制器类上授权 属性,然后使用 AllowAnonymous 属性。
In context of ASP.NET MVC 4: you can enable authorization with the Authorize attribute on your controller classes, then disable for specific actions with the AllowAnonymous attribute.