我正在尝试让一个新的 Windows Server 2003 机箱运行,以托管使用 Windows 身份验证的 ASP.NET 应用程序。
以下是一些信息:
- IIS 匿名访问已禁用
- 已启用 IIS 集成 Windows 身份验证
- 我尝试过使用和不使用摘要式身份验证,结果是一样的
- 我的机器和服务器都位于同一内联网上的同一活动目录域中
- 我使用的是 IE 6
我的症状:
- 在 Firefox 中,无论是通过 IP 还是主机名,都会弹出一个登录框,如果我输入我的 NT 凭据,它就可以正常工作。
- 在 IE 中,通过服务器 IP 地址,它可以完美运行,无需登录框。
- 在 IE 中,通过服务器主机名,它会弹出一个登录框,但即使我输入了正确的凭据,它也会再次弹出该框。这就是问题所在。
为什么 Windows 身份验证无法通过主机名在 IE 中工作,但可以通过 IP 地址工作?
编辑:
还有一件有趣的事情。如果我进入 Internet Explorer 高级设置并禁用 Windows 身份验证,它似乎可以正常工作。我说的正常工作是指我的测试 .NET 应用程序将我的 NT ID 视为当前用户。
答案1
答案2
我希望本文能帮助您将 NTLM 设置为主要身份验证方法。
http://support.microsoft.com/kb/215383
在许多情况下,我无法让 kerberos 身份验证正常工作。如果您希望进一步排除 kerberos 故障,请尝试在客户端计算机上使用 kerbtray。
答案3
只是一点提示。
主机名是否包含任何点?我在 IE 中输入以下内容时遇到了各种问题:http://我的服务器/ 就像 IE 只需要名称中有一个点就可以正常工作一样。
测试此问题的简单方法是伪造地址:编辑 C:\Windows\System32\drivers\etc\hosts 文件。添加一行包含服务器 IP 和虚假名称的内容 - 如下所示:192.168.10.78 myserver.mycompany.com