![IIS6:具有专用服务用户身份的应用程序池导致集成身份验证失败](https://linux22.com/image/492086/IIS6%EF%BC%9A%E5%85%B7%E6%9C%89%E4%B8%93%E7%94%A8%E6%9C%8D%E5%8A%A1%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B1%A0%E5%AF%BC%E8%87%B4%E9%9B%86%E6%88%90%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%A4%B1%E8%B4%A5.png)
我在 IIS6 和 asp.net 3.5 SP1 上。
我决定我的 asp.net Web 应用程序应该有一个专用的应用程序池和一个专用的身份,因为这个身份被授予对 Web 应用程序使用的敏感文件共享的访问权限。Web 应用程序对传入用户使用集成的 Windows 身份验证,我的问题是,当应用程序池设置为专用身份时,所有传入用户都无法进行身份验证即用户提交密码后,登录框(来自 Internet Explorer)会重新出现。当应用程序池设置为 NETWORK SERVICE 标识时,不会发生此问题。
专用身份已被授予对机器的 IIS_WPG 组的访问权限,并且我尝试了以下命令:
aspnet_regiis.exe -GA myDomain\myDedicatedIdentity
但还是没运气。有什么建议吗?我忘记授予此身份任何特权了吗?
答案1
我找到了问题的解决方案:使用 NetBIOS 名称和应用程序池正在运行的域用户帐户的完全限定域名 (FQDN) 设置 HTTP SPN。以下是文章:http://support.microsoft.com/kb/871179
答案2
可能是 Kerberos 问题。
我最初尝试:
cscript adsutil.vbs set w3svc/1/root/NTAuthenticationProviders "NTLM"
其中 1 是网站。
一旦确定它是否是 Kerberos,您可以仅在 NTLM 上继续,或者在服务帐户上为您的站点/URL 设置 SPN。