表单验证(限制区域)
我正在使用 ASP.NET MVC 和 MySQL 开发一个网站,我需要为用户更新网站中的一些信息创建一个简单的限制区域。因此,我在 mvc 应用程序中创建了一个名为“Admin”的区域,并且我知道如何使用表单身份验证和 Autorize 属性来保护它!它工作正常,但在我区域的每个控制器中,我必须设置 Autorize 属性来保护它们。有没有办法保护Web.config中的所有区域?我怎样才能做到这一点?
谢谢
干杯
I'm developing an website using asp.net mvc with MySQL and I need to make a simple restrict area for the user update some informations in website. So, I had created an area in mvc application called "Admin", and I know how to protect it using Forms authentication and Autorize attribute! It works fine, but in each controller of my area I have to set the Autorize attribute to protected them. Is there any way to protected all Area in Web.config? How can I do that?
Thanks
Cheers
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您不得在 MVC 应用程序中使用基于 Web.config 位置的授权。这样做会导致您的网站出现安全漏洞。
获得您正在寻找的行为的最简单方法是拥有一个具有 [Authorize] 属性的 AdminBaseController,然后让您的管理区域中的每个控制器直接子类化此类型。该属性将从基类型流向子类类型。
You must not use Web.config location-based authorization in an MVC application. Doing so will lead to security vulnerabilities in your site.
The easiest way to get the behavior you're looking for is to have an AdminBaseController which has an [Authorize] attribute on it, then have each controller in your Admin area subclass this type directly. The attribute will flow from the base type to the subclassed types.
有点偏离你的问题,因为你想使用 Web.config,但你可以使用 PostSharp (一个方面面向框架)在方法上注入属性。
A bit off your question as you want to use Web.config, but you can use PostSharp (an aspect oriented framework) to inject attributes on methods.