【问题标题】:IIS Anonymous Authentication with Windows Authentication - Second request not being made使用 Windows 身份验证的 IIS 匿名身份验证 - 未发出第二个请求
【发布时间】:2020-06-07 11:22:38
【问题描述】:

大家好,早上好,

我目前正在对测试环境中的一个问题进行故障排除,但我无法分析问题出在哪里。

在使用 IIS v10 的 Windows Server 2016 中,我的一个用户服务帐户出现了这个奇怪的问题,我无法用我的或其他任何人重现。

我们都使用我们的 Active Directory 服务帐户通过 VPN 客户端远程访问同一个虚拟机。所以所有的请求都发生在同一个上下文环境中。

为“登录”而命中的 WebAPI 服务也是服务注册表的相同入口。其他服务使用与其 IIS 应用程序池标识用户绑定的匿名身份验证,但对于其他所有人,我们需要使用 Windows 身份验证。这就是他们启用 Windows 身份验证和匿名身份验证的原因。

当 InterceptionAttribute 处理请求时,我们有一点逻辑来计算请求是否来自匿名源。如果是,并且在某些条件/约束下,我们会 401 请求,因为我们希望浏览器使用不同的身份验证方案。当浏览器“Internet Explorer v11”收到 401 时,它会再次尝试,但这次使用 Windows 身份验证并传入当前登录的用户凭据,我们需要这些凭据来获得有效的 Principal / Identity 对象来处理其他事情。

到目前为止,这一切正常,但有一位用户无法进入 Web 应用程序。在调试会话中,我捕获了进来的请求,并且正如预期的那样,第一个请求是匿名的,因为这是浏览器将尝试和使用的第一种形式。下一个预期但未发生的是来自 401 质询的后续请求,然后它使用 Windows 身份验证。

我已经花费了大量时间对此进行调试,并且非常感谢任何有关阻止/停止/中断浏览器发出后续请求的帮助或见解。

再次感谢大家抽出宝贵时间阅读并回复此主题。

Web.config 部分:

<identity impersonate="true" />
    <authorization>
      <allow users="*" />
    </authorization>
    <roleManager enabled="true" />
<validation validateIntegratedModeConfiguration="false" />
    <directoryBrowse enabled="true" />
    <security>
            <authentication>
                <windowsAuthentication enabled="true" useKernelMode="true">
                    <providers>
                        <clear />
                        <add value="NTLM" />
                        <add value="Negotiate" />
                    </providers>
                    <extendedProtection tokenChecking="Require" />
                </windowsAuthentication>
                <anonymousAuthentication enabled="true" userName="" />
            </authentication>
    </security>

【问题讨论】:

    标签: c# iis asp.net-web-api2 windows-authentication iis-10


    【解决方案1】:

    只是想报告。

    经过进一步调查,实际上是另一个内部服务器错误,从尝试发出请求的错误服务帐户中吞下了 500。

    所以一切都已正确配置并按预期工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-09
      • 2020-12-21
      • 1970-01-01
      • 2012-09-10
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多