HTTP 401.2来自远程机器的Windows身份validation的未授权错误

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

我已经确保应用程序池使用的域帐户对网站文件夹具有“读取”和“执行”权限,我在login网站时login的域帐户也是这样(我也在“Authenticated Users '好措施)。

有趣的是,如果我尝试访问使用Web服务器的IP而不是名称的网站,它加载罚款。

任何人有想法?

使用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-与-IIS-7-0.aspx

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

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

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" usecoreelMode="true" useAppPoolCredentials="true"> <providers> <clear /> <add value="Negotiate" /> </providers> <extendedProtection tokenChecking="None" /> </windowsAuthentication> </authentication> </security> </system.webserver>