Asp.net mvc 表单身份验证(限制区域)

Asp.net mvc 表单身份验证(限制区域),asp.net-mvc,security,forms-authentication,roles,asp.net-mvc-areas,Asp.net Mvc,Security,Forms Authentication,Roles,Asp.net Mvc Areas,我正在开发一个网站使用asp.NETMVC和MySQL,我需要做一个简单的限制区,让用户更新网站中的一些信息。所以,我在mvc应用程序中创建了一个名为“Admin”的区域,我知道如何使用表单身份验证和自动调整属性来保护它!它工作得很好,但在我所在区域的每个控制器中,我都必须设置Autorize属性以保护它们。有没有办法保护Web.config中的所有区域?我该怎么做 谢谢 欢迎使用Web.config,但您可以使用(面向方面的框架)在方法上注入属性。如果您想使用Web.config,请稍微回避您

我正在开发一个网站使用asp.NETMVC和MySQL,我需要做一个简单的限制区,让用户更新网站中的一些信息。所以,我在mvc应用程序中创建了一个名为“Admin”的区域,我知道如何使用表单身份验证和自动调整属性来保护它!它工作得很好,但在我所在区域的每个控制器中,我都必须设置Autorize属性以保护它们。有没有办法保护Web.config中的所有区域?我该怎么做

谢谢


欢迎使用Web.config,但您可以使用(面向方面的框架)在方法上注入属性。

如果您想使用Web.config,请稍微回避您的问题,但您可以使用(面向方面的框架)在方法上注入属性。

您不能在MVC应用程序中使用基于Web.config位置的授权。这样做会导致您的站点存在安全漏洞


获取所需行为的最简单方法是使用一个具有[Authorize]属性的AdminBaseController,然后让管理区域中的每个控制器直接子类化此类型。该属性将从基本类型流向子类类型。

您不能在MVC应用程序中使用基于Web.config位置的授权。这样做会导致您的站点存在安全漏洞


获取所需行为的最简单方法是使用一个具有[Authorize]属性的AdminBaseController,然后让管理区域中的每个控制器直接子类化此类型。属性将从基类型流向子类类型。

这是唯一的方法吗?因为这个解决方案看起来不是很优雅,所以我需要确保我的所有控制器都是基本控制器的子类。我还不如将必需的属性添加到所有控制器中。@RosdiKasim,如果需要,您可以将授权筛选器添加到全局筛选器列表中。然后每个控制器都会自动得到它。如果您这样做,请将[AllowAnonymous]属性放在各个控制器或操作上,让它们选择退出全局授权筛选器。您能告诉我为什么会导致漏洞吗?这是唯一的方法吗?因为这个解决方案看起来不是很优雅,所以我需要确保我的所有控制器都是基本控制器的子类。我还不如将必需的属性添加到所有控制器中。@RosdiKasim,如果需要,您可以将授权筛选器添加到全局筛选器列表中。然后每个控制器都会自动得到它。如果您这样做,请将[AllowAnonymous]属性放在单个控制器或操作上,让它们选择退出全局授权筛选器。您能告诉我为什么会导致漏洞吗?