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

时间:2014-01-04 12:32:06

标签: windows http authentication iis kerberos

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

我已确保应用程序池使用的域帐户对网站文件夹具有读取和执行权限,因此我在登录网站时登录的域帐户也是如此(我也投入了“经过验证的用户”可以很好地衡量。)

有趣的是,如果我尝试使用Web服务器的IP而不是名称来访问该站点,那么它可以正常加载。

有人有想法吗?

2 个答案:

答案 0 :(得分:5)

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

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

获得提示

需要设置useAppPoolCredentials =" true"在applicationHost.config中的windowsAuthentication元素上(可以通过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>

答案 1 :(得分: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