是否有办法允许基于AD组对我的Intranet站点进行站点范围访问,而无需在每个控制器上使用[Authorize]
属性?
我正在使用Windows身份验证。
答案 0 :(得分:3)
在网络配置中使用
<system.web>
<authentication mode="Windows">
</authentication>
<authorization>
<allow users="groupname"/>
<deny users="*"/>
</authorization>
</system.web>
答案 1 :(得分:2)
您可以将AuthorizeAttribute
添加到全局过滤器集合中,如here所述。
public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
filters.Add(new AuthorizeAttribute());
filters.Add(new HandleErrorAttribute());
}
从restricts file-based access开始,通常不使用Web.config authorization
元素是一个好主意。但是当您保护整个站点时,使用Web.config文件也可以正常工作。
答案 2 :(得分:-1)
在Windows上启用Windows身份验证:
a)在“控制面板”中打开“程序和功能”。
b)选择“打开或关闭Windows功能”。
c)导航到Internet信息服务&gt;万维网服务&gt;安全性并确保选中Windows身份验证节点。
在Windows Server上启用Windows身份验证:
a)在服务器管理器中,选择“Web服务器(IIS)”,然后单击“添加角色服务”
b)导航到Web服务器&gt;安全性并确保选中Windows身份验证节点。
的最后强> 的
在项目的“属性”窗格中:
a)将“匿名身份验证”设置为“已禁用”。
b)将“Windows身份验证”设置为“已启用”。