使用完全限定的URL对本地服务器上的IIS进行Windows身份validation

我有一个configuration了Windows身份validation的IIS 7中设置的Web应用程序。 我可以通过来自任何其他机器的完全合格的url对机器进行身份validation,并使用适当的域名。 但是,当我尝试通过完全限定的域(通过其他服务或通过IE中的url)从本身连接到本机时,Windowslogin提示尝试强制使用计算机作为域,而不是尝试使用domain\username[email protected]指定域失败。

我应该注意到在机器上通过localhost查看Web应用程序是可行的,但是使用完整的site.company.com/webservice风格的URL在本地机器上不起作用,因为login域是错误的。 我能做些什么使它使用正确的login域?

我正在尝试做同样的事情。 使用FQDN访问本地IIS上的Web站点,并不断被告知IIS要去哪里。

无论如何,从我的挖掘,你必须禁用本地IIS网站的环回检查。

看到下面的博客文章:

[删除链接 – 导致或转发到一个严重的黑幕网站]。

在页面丢失的情况下,我做了以下(这是他在上面的博客文章中build议的)

  1. 通过在运行下键入regedit打开registry编辑器。
  2. 导航到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. 用鼠标右键单击MSV1_0并单击新build,然后select使其成为一个多string值。
  4. inputBackConnectionHostNames作为条目的名称,然后双击它进行修改。
  5. input您需要使用的主机名(例如code-journey.com)。
  6. 重新启动IISAdmin服务(“开始” – >“pipe理工具” – >“服务”)

希望这可以帮助。

中巴..

我可以告诉你,根据一些设置SSO的经验,只有当站点和客户端一起在Intranet上,或者站点在可信区域时,IE才会自动通过Kerberos票据进行login。 如果IE看到http://site.company.com/webservice它会认为该网站是在互联网上,不会通过login凭据。

在这个链接上有关于IIS,IE和Kerberos的一些有用的信息。 http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx

我们发现,在Intranet上允许FQDN的两件事是向Web服务器提供一个证书并使用SSL,或者将其添加到受信任的区域。

希望这有助于你的设置。

这是由于一个称为LoopbackCheck的安全function。

您尝试在安装Windows Server 2003 Service Pack 1后使用其FQDN或其CNAME别名在本地访问服务器时出现错误消息:“访问被拒绝”或“没有networking提供程序接受给定的networkingpath”
http://support.microsoft.com/kb/926642

有两个解决scheme:

方法1(推荐):创build可以在NTLM身份validation请求中引用的本地安全机构主机名称。 为此,请按照下列步骤在客户端计算机上的所有节点:

  1. 单击开始,单击运行,键入regedit,然后单击确定。
  2. find并单击以下registry子项:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. 用鼠标右键单击MSV1_0,指向新build,然后再单击多string值。
  4. 在名称列中,键入BackConnectionHostNames,然后按ENTER键。
  5. 用鼠标右键单击BackConnectionHostNames,然后单击修改。
  6. 在数值数据框中,键入用于计算机上本地共享的CNAME或DNS别名,然后单击确定。

    注意:在一个单独的行上键入每个主机名称。

    注意:如果BackConnectionHostNamesregistry项存在为REG_DWORDtypes,则必须删除BackConnectionHostNamesregistry项。

  7. 退出registry编辑器,然后重新启动计算机。

方法2:通过将HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsaregistry子项中的DisableLoopbackCheckregistry项设置为1来禁用身份validation回送检查。要将DisableLoopbackCheckregistry项设置为1,请在客户端计算机上按照下列步骤操作:

  1. 单击开始,单击运行,键入regedit,然后单击确定。
  2. find并单击下面的registry子项:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  3. 用鼠标右键单击Lsa,指向新build,然后再单击DWORD值。
  4. 键入DisableLoopbackCheck,然后按ENTER键。
  5. 用鼠标右键单击DisableLoopbackCheck,然后单击修改。
  6. 在数值数据框中,键入1,然后单击确定。
  7. 退出registry编辑器
  8. 重新启动计算机。