多个域(站点)之间的Windows身份validation失败

我刚刚推出了一个新的Intranet公司 – 该公司有6个英国站点,每个站点都有一个称为(例如)london.local,derby.local,thatlotupnorth.local等的本地域,每个站点都有自己的AD服务器。 (这些站点通过Virgin连接到MPLS,但对于这个问题应该是透明的)

Intranet服务器(Server 2008 R2,IIS 7.5)位于,可以说london.local,并使用Windows身份validation为了validation和访问Intranet服务器上的站点。

这工作正常,但一个网站。

进一步的调查显示,一个用户谁是这个网站的成员,可以说derby.local,不能login到他们的帐户从另一个域内,例如我在derby.local域上设立一个帐户,并试图从伦敦login.local,我得到错误“目前没有login服务器可用于服务login”,表明AD服务器不可访问,但我可以ping它。

我相当确定内部networkingWindows身份validation的原因是因为服务器无法访问其他站点上的AD服务器。

nslookup报告一个域名为“不存在”,所有其他AD服务器回复其详细信息。 但是我能够ping derby.local。

任何关于从何处开始排疑解难的赞赏!

如果该站点位于“受信任的站点”区域,并且该区域configuration为“使用当前用户名和密码自动login”,并且IISconfiguration了可模拟用户的应用程序池帐户,则Internet Explorer应可呈现身份validation令牌作为http请求头的一部分,IIS使用该令牌进行身份validation和授权。

如果url是单标签/短名称,也可以使用Intranet区域。

这种“集成的身份validation”,而不是提示凭据(可能是纯文本),通常是首选的身份validation机制。

确定是否正确configuration的一种方法是下载DelegConfig实用程序,并将其作为虚拟目录添加到网站下。 当你打开虚拟目录的链接时,它会运行一些testing,并显示什么,如果有的话,可能configuration不正确。

通常,这需要IIS计算机在计算机帐户的委派选项卡上为“委派可信”,或者如果应用程序池使用的是域帐户,则该帐户需要以相同方式信任,但“委派”选项卡不默认显示用户帐户,所以你需要使用setspn.exe。

有时由于许多组成员资格,HTTP请求标头非常大。 这将需要调整MaxRequestBytes的IISregistry设置。

IIS的Http.sysregistry设置
http://support.microsoft.com/kb/820129

DelegConfig下载:
http://blogs.iis.net/brian-murphy-booth/archive/2009/04/22/delegconfig-v2-beta.aspx