是否有一种方法可以允许基于AD组的站点范围访问我的intranet站点,而不必在每个控制器上使用[Authorize]属性?
我正在使用Windows身份验证。
发布于 2012-08-14 19:32:38
您可以将AuthorizeAttribute添加到全局filters集合中,如here所述。
public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
filters.Add(new AuthorizeAttribute());
filters.Add(new HandleErrorAttribute());
}使用Web.config authorization元素通常不是一个好主意,因为这个restricts file-based access。但是,当您保护整个站点时,使用Web.config文件也同样有效。
发布于 2012-08-14 19:34:02
在webconfig中使用
<system.web>
<authentication mode="Windows">
</authentication>
<authorization>
<allow users="groupname"/>
<deny users="*"/>
</authorization>
</system.web>发布于 2012-08-14 19:36:38
IIS 7和IIS 8
打开IIS管理器并导航到您的网站。
在Windows上启用Windows身份验证的:
a)在“控制面板”中打开“程序和功能”。
b)选择“打开或关闭Windows功能”。
c)导航到“Internet信息服务”>“万维网服务”>“安全”,并确保选中了Windows身份验证节点。
在Windows Server上启用Windows身份验证的:
a)在服务器管理器中,选择Web服务器(IIS),然后单击添加角色服务
b)导航到“Web服务器”>“安全”,并确保选中了Windows身份验证节点。
最终
在操作窗格中,单击启用以使用Windows authentication.
IIS Express
IIS在Visual Studio中右键单击项目,然后在解决方案资源管理器中选择对项目使用
a)设置“匿名认证”为“禁用”。
b)将"Windows身份验证“设置为”已启用“。
https://stackoverflow.com/questions/11951307
复制相似问题