【发布时间】:2019-08-27 14:13:56
【问题描述】:
我正在尝试保护托管在内部 IIS10 实例上的简单 ASP.net 网站,以便只有特定的 AD 组可以访问它。
我的所有测试(以及最终使用)都将在 IIS 服务器所在的同一域内部进行 - 不会发生外部或跨域使用。
在站点身份验证中,我只启用了带有 HTTP 401 质询响应类型的 Windows 身份验证。启用的提供程序是协商和 NTLM(按此顺序),扩展保护已关闭并且内核模式身份验证已启用
在 .NET 授权规则中,我没有明确的拒绝规则。
如果我为我的用户帐户(以及我正在为其测试访问网站的用户)添加“指定用户”允许规则,那么我就可以访问该网站。此时web.config文件的相关区域如下所示:
<authorization>
<allow users="MYDOMAIN\MYUSERACCOUNT" />
</authorization>
如果我删除该允许规则并为我的用户帐户所属的 AD 组添加“指定角色或用户组”允许行,那么我将无法访问该网站并且浏览到它会提示我输入输入我的 AD 凭据的登录对话框会出现 401 错误。
此时web.config文件的相关区域如下所示:
<authorization>
<allow roles="MYDOMAIN\AwesomeUsers" />
</authorization>
我尝试更改各种身份验证设置(更改顺序、禁用内核模式身份验证等),在 Web.config 的“允许用户”部分添加域组,但我无法让 AD 组身份验证正常工作。
IIS 不是我的强项,因此非常感谢我可以尝试的任何提示或技巧,谢谢! :)
【问题讨论】:
-
首先要检查的是 Windows 身份验证是否确实正常工作。
HttpContext.Current.User.Identity.Name的值是你的用户名吗?
标签: iis active-directory authorization