IIS 10 .Net授权与AD组陷入困境

时间:2019-08-27 14:13:56

标签: iis active-directory authorization

我正在尝试保护内部IIS10实例上托管的简单ASP.net网站,以便仅特定的AD组可以访问它。

我所有的测试(以及最终使用情况)都将在IIS服务器所在的同一域内部进行-不会发生外部或跨域使用情况。

在站点身份验证内,我仅启用了HTTP 401质询响应类型的Windows身份验证。启用的提供程序是“协商”和NTLM(按此顺序),“扩展保护”已关闭,并且启用了内核模式身份验证

在.NET授权规则中,我没有明确的拒绝规则。

如果我为我的用户帐户(并因此要测试其访问网站的用户)添加“指定用户”允许规则,则可以访问该网站。此时,web.config文件的相关区域如下所示:

<authorization>
<allow users="MYDOMAIN\MYUSERACCOUNT" />
</authorization>

如果我删除了“允许规则”并为用户帐户所属的广告组添加了“指定角色或用户组”“允许行”,则我将无法访问该网站,浏览该网站会提示我登录对话框,输入我的AD凭据后会出现401错误。

这时,web.config文件的相关区域如下所示:

<authorization>
<allow roles="MYDOMAIN\AwesomeUsers" />
</authorization>

我尝试更改各种身份验证设置(更改顺序,禁用内核模式身份验证等),在Web.config的“允许用户”部分中添加域组,但是我无法使AD组身份验证正常工作。

IIS不是我的强项,所以我非常感谢我可以尝试的任何提示或技巧,谢谢! :)

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码:

web.config:

<configuration>
  <system.web>
    <authentication mode="Windows" />
    <authorization>
      <allow roles="DOMAIN\ADGROUP" />
      <deny users="*" />
    </authorization>
  </system.web>
</configuration>

applicationHost.config:

<configuration>
  <location path="YOUR-APP">
    <system.webServer>
      <security>
        <authentication>
          <anonymousAuthentication enabled="false" />
          <windowsAuthentication enabled="true" />
        </authentication>
      </security>
    </system.webServer>
  </location>
</configuration>