尝试让 .NET Web 应用程序成功使用 Kerberos 身份验证花费了很大力气,希望能够得到 SF 社区的帮助。
目前有一台 Win2003/IIS6 服务器托管一个网站,该网站使用默认的“网络服务”应用程序池。基于 MS如何创建服务帐户页面上,我执行了以下步骤:
- 创建了新的域帐户
MYDOMAIN\CustomASP
- 使用以下方式在服务器上注册账户
aspnet_regiis -ga MYDOMAIN\CustomASP
- 在域帐户上创建新的
HTTP/SERVERNAME
SPNHTTP/SERVERNAME.fqdn.here
MyPool
创建了一个以MYDOMAIN\CustomASP
身份运行的应用程序池- 创建了一个新的虚拟目录,
MyASP
在新的应用程序池中运行 - 确保它
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 中启用模拟。