【问题标题】:IIS 10 .Net Authorization woes with AD groupsAD 组的 IIS 10 .Net 授权问题
【发布时间】: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


【解决方案1】:

尝试使用以下代码:

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2011-04-18
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多