在域身份不起作用的情况下,使用.NET应用程序的IIS中的Kerberos身份验

有一段时间试图让.NET Web应用程序成功使用Kerberos身份validation,并希望从SF社区的一些帮助。

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

  1. 创build一个新的域帐户MYDOMAIN\CustomASP
  2. 使用aspnet_regiis -ga MYDOMAIN\CustomASP注册服务器上的帐户
  3. 在域帐户上创build新的SPN HTTP/SERVERNAMEHTTP/SERVERNAME.fqdn.here
  4. 使MYDOMAIN\CustomASP标识下运行的应用程序池MyPool
  5. 在新的应用程序池中创build一个新的虚拟目录MyASP
  6. 确保SERVERNAME位于Intranet区域,IE已启用IWA

根据我所读到的,这是应该有的。 现有的网站正在使用Kerberos,它工作正常; 但尝试浏览到http:// servername / MyASP会导致logging失败的login尝试,并且以空白的用户名将事件529写入安全日志。

NTLM身份validation将为此工作(通过closuresIE的IWA或通过IP地址访问服务器testing),但Kerberos将无法正常工作。 我可以select强制NTLM,并要求虚拟目录使用SSL,但这似乎是“丑陋的黑客”的方式来解决这个问题。 当然,我只是错过了一个史诗般的睡眠不足导致的手术过程中显而易见的一步。

任何帮助,build议,或谁曾经在这里和修复它的故事将不胜感激。 提前致谢。

几件事情尝试

1)使用一个destkop IE。 基于服务器的IE运行方式不同 。

2)检查你的桌面补丁:

  • CNAME
  • 的MaxTokenSize
  • LongTerm令牌过期 (是的,它说明智能卡问题,但它修复了其他Kerberos问题)

3)检查你的SPN

SETSPN -L MYDOMAIN \ CustomASP

4)检查你的元数据库

cscript adsutil.vbs set w3svc / 1 / NTAuthenticationProviders“Negotiate,NTLM”

5)打开Kerberos日志logging

你有没有在web.config文件中启用模拟?

如果您按照链接的文章其他资源部分中的链接( http://msdn.microsoft.com/zh-cn/library/ms998351.aspx )介绍了在ASP.NET中启用模拟function。