HTTP 401.2远程计算机上的Windows身份验证未经授权的错误

Kri*_*ork 3 windows authentication iis kerberos http

我的网站启用了Windows身份验证,首先列出了协商提供程序,因为我想使用Kerberos进行委派.当我从Web服务器本身的浏览器运行网站时,它工作正常.当我从域中的另一台机器使用IE时,我得到了登录框.经过3次尝试后,我收到HTTP 401.2错误:未经授权.

我确保应用程序池使用的域帐户具有对网站文件夹的读取和执行权限,我在登录网站时登录的域帐户也是如此(我还在"经过身份验证的用户中" '好的措施).

有趣的是,如果我尝试使用Web服务器的IP而不是名称访问该站点,它会加载正常.

有人有想法吗?

Kri*_*ork 5

在我第一次遇到这个问题一年后,我已经解决了这个问题.

http://blogs.technet.com/b/proclarity/archive/2011/03/08/useapppoolcredentials-true-with-kerberos-delegation-on-2008.aspx获得了提示

需要在applicationHost.config中的windowsAuthentication元素上设置useAppPoolCredentials ="true"(可以通过IIS管理器设置)

    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <windowsAuthentication enabled="true" useKernelMode="true" useAppPoolCredentials="true">
                    <providers>
                        <clear />
                        <add value="Negotiate" />
                    </providers>
                    <extendedProtection tokenChecking="None" />
                </windowsAuthentication>
            </authentication>
        </security>
    </system.webServer>
Run Code Online (Sandbox Code Playgroud)


Tom*_*all 2

使用 DNS 名称时收到 401.2 的原因很可能是由于在 AD 中将您使用的名称注册为服务主体名称 (SPN)。

这里有几个链接应该可以帮助您:

使用 IIS 7.0/7.5 进行 Kerberos 身份验证的服务主体名称 (SPN) 清单 http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for-kerberos -authentication-with-iis-7-0.aspx

注册 Kerberos 连接的服务主体名称http://technet.microsoft.com/en-us/library/ms191153.aspx