iis - AD 组的 IIS 10 .Net 授权问题
问题描述
我正在尝试保护托管在内部 IIS10 实例上的简单 ASP.net 网站,以便只有特定的 AD 组可以访问它。
我的所有测试(以及最终使用)都将在 IIS 服务器所在的同一域内部进行 - 不会发生外部或跨域使用。
在站点身份验证中,我仅启用了带有 HTTP 401 质询响应类型的 Windows 身份验证。启用的提供程序是 Negotiate 和 NTLM(按此顺序),Extended Protection is Off 并且内核模式身份验证已启用
在 .NET 授权规则中,我没有明确的拒绝规则。
如果我为我的用户帐户(以及我正在测试访问网站的用户)添加“指定用户”允许规则,那么我就可以访问该网站。此时 web.config 文件的相关区域如下所示:
<authorization>
<allow users="MYDOMAIN\MYUSERACCOUNT" />
</authorization>
如果我删除该允许规则并为我的用户帐户所属的 AD 组添加“指定角色或用户组”允许行,那么我将无法访问该网站并浏览它会提示我进入登录对话框输入我的 AD 凭据的框会出现 401 错误。
此时 web.config 文件的相关区域如下所示:
<authorization>
<allow roles="MYDOMAIN\AwesomeUsers" />
</authorization>
我尝试更改各种身份验证设置(更改顺序、禁用内核模式身份验证等),在 Web.config 的“允许用户”部分添加域组,但我无法让 AD 组身份验证正常工作。
IIS 不是我的强项,因此非常感谢我可以尝试的任何提示或技巧,谢谢!:)
解决方案
尝试使用以下代码:
网络配置:
<configuration>
<system.web>
<authentication mode="Windows" />
<authorization>
<allow roles="DOMAIN\ADGROUP" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
应用程序主机配置:
<configuration>
<location path="YOUR-APP">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
</configuration>
推荐阅读
- python - 如何在 python 3 中创建一个循环,当您输入正确的单词/数字时停止
- php - 警告:mail():无法在“localhost”端口 25 连接到邮件服务器
- bitbucket - 一个文件夹未上传到 bitbucket
- xamarin - 如何在 xamarin 表单中自定义相机的宽度?
- python - 我想调用 first.py 中可用的代码,然后将其包装在函数中。然后在 second.py 中导入该函数并调用
- amazon-web-services - 无法删除 AWS Route53 中的私有托管区域
- elasticsearch - Elasticsearch 术语聚合和带时间戳的范围
- list - SWI-prolog:如何使用一些事实制作一个循环列表
- php - MySQL 中的 PHP 注入在硬编码时有效
- python-2.7 - 如何使用 boto3 'put_bucket_replication' 方法启用存储桶复制?