域标识下使用 .NET 应用程序的 IIS 中的 Kerberos 身份验证不起作用

域标识下使用 .NET 应用程序的 IIS 中的 Kerberos 身份验证不起作用

尝试让 .NET Web 应用程序成功使用 Kerberos 身份验证花费了很大力气,希望能够得到 SF 社区的帮助。

目前有一台 Win2003/IIS6 服务器托管一个网站,该网站使用默认的“网络服务”应用程序池。基于 MS如何创建服务帐户页面上,我执行了以下步骤:

  1. 创建了新的域帐户MYDOMAIN\CustomASP
  2. 使用以下方式在服务器上注册账户aspnet_regiis -ga MYDOMAIN\CustomASP
  3. 在域帐户上创建新的HTTP/SERVERNAMESPNHTTP/SERVERNAME.fqdn.here
  4. MyPool创建了一个以MYDOMAIN\CustomASP身份运行的应用程序池
  5. 创建了一个新的虚拟目录,MyASP在新的应用程序池中运行
  6. 确保它SERVERNAME位于 Intranet 区域,并且 IE 已启用 IWA

据我所知,这已经足够了。现有网站使用 Kerberos 并且它工作正常;但尝试浏览http://服务器名称/MyASP导致记录失败的登录尝试,并且使用空白用户名将事件 529 写入安全日志。

NTLM 身份验证可以解决这个问题(通过关闭 IE 的 IWA 或通过 IP 地址访问服务器进行测试),但 Kerberos 不起作用。我可以选择强制使用 NTLM 并要求虚拟目录使用 SSL,但这似乎是解决这个问题的“丑陋黑客”方法。我肯定只是因为睡眠不足而错过了这里过程中一些显而易见的步骤。

任何帮助、建议或来过这里并修复过此问题的人的故事都将不胜感激。提前致谢。

答案1

可以尝试以下几件事

1) 使用桌面版 IE。基于服务器的 IE 运行不同地

2)检查您的桌面补丁:

3)检查您的 SPN

SETSPN -L MYDOMAIN\CustomASP

4)检查你的元数据库

cscript adsutil.vbs 设置 w3svc/1/NTAuthenticationProviders“协商,NTLM”

5)打开Kerberos 日志记录

答案2

您是否在 web.config 文件中启用了模拟功能?

如果你点击链接(http://msdn.microsoft.com/en-us/library/ms998351.aspx) 在您链接的文章的“附加资源”部分中,它讨论了在 ASP.NET 中启用模拟。

相关内容