IIS 和集成 Windows 身份验证 - 登录不适用于 domain.com,适用于 IP 地址、localhost、127.0.0.1

IIS 和集成 Windows 身份验证 - 登录不适用于 domain.com,适用于 IP 地址、localhost、127.0.0.1

我已经安装了 Windows Server 2003 R2 和 IIS 角色(没有 Active Directory 角色)。我设置了一个名为“test”的虚拟目录,并在“test”虚拟目录的“安全”选项卡下禁用了匿名登录并启用了集成 Windows 身份验证。服务器位于本地网络上。我所做的是使用浏览器访问服务器上的 test/ 目录。以下是日志:

**IE on Server**
localhost   - works
127.0.0.1   - works, asks for password, 8 second delay
domain.com  - fails, asks for password, after 3 seconds asks for 
             a password again, the username field changes to: domain.com\username
172.28.28.100   - works, asks for password, 8 second delay

**Firefox on Server**
same as above
    domain.com          - the 'Remember the password' tooltip displays for
                          a fraction of a second and then the browser asks
                          for the password again

**IE on other LAN host**
    172.28.28.100   - works, asks for password, 8 sec delay
    domain.com  - works, asks for password, 8 sec delay
**Firefox on other LAN host**
                    - same as above, no delay

我显然做错了什么,但我不知道是什么。我读过有关 SPN 的信息,但当我使用 setspn -L localhost 时,没有显示 SPN(我猜是因为服务器不是 DC)。为什么我无法使用 domain.com 上的 Windows 集成身份验证登录服务器?

答案1

完全误读了问题,所以进行第二次尝试。

假设:

  • 该服务器是 AD 2000+ 域成员
  • 客户端是域成员

当您输入“domain.com”时,IE 将构建一个服务主体名称 http/domain.com 并要求 DC 为其提供一张票。

如果 domain.com 是真实存在的,即您的 AD 域名,那么这种做法是行不通的。至少,我认为是行不通的。

尝试以获得有关 SPN 的指导。也请采纳第一条建议,并使用 2008 版 SetSPN 来执行 SPN 操作。

简而言之,您使用应用程序池帐户(如果是 IIS 6,则默认为网络服务,因此计算机帐户为“webserver$”)并在其上注册一个 SPN:

SETSPN -S http/example.com 域\WebServer$

从理论上来说,此时,一切正常。

我认为 FireFox 不会对服务器进行 Kerb 身份验证,并且 IE 需要更长时间才能失败,因为它正在尝试这样做。

答案2

这个问题需要解决的几个问题:

  • 如果没有 Active Directory 或 NT 域 ,domain.com\username则无法进行身份验证
    domain\username
    域名.com进行身份验证。

  • 您可能必须强制使用本地帐户*IIS Computer Name*\username作为您的登录 ID,以便成功通过 IIS 服务器上的本地帐户的身份验证。

  • 你可能想要设置你的站点 NTAuthenticationProviders禁用谈判 身份验证过程并强制 IIS 使用NTLM
    cscript adsutil.vbs set w3svc/__YourWebSite__/root/NTAuthenticationProviders "NTLM"

  • 最简单、最快的方法是使用“基本身份验证”,但如果您没有使用 SSL 保护登录流量,则会出现安全问题。

相关内容