Sam*_*gan 5 iis windows-server-2008 kerberos sql-server
在将凭据从用户传递到 IIS 然后从 IIS 传递到 SQL 时,我遇到了让 Windows 身份验证 (Kerberos) 工作的问题。我已经为 SQL 设置了 SPN,并将 IIS 服务器帐户设置为允许委派。
如果我将 IIS 计算机帐户设置为允许委派任何服务,则它可以工作:
但是,如果我为特定服务设置它,则不会传递凭据,并且我收到有关与匿名用户连接的错误:
正如您所看到的,我正在连接到 SQL Express 实例,并且我已经设置了许多 SPN 来尝试解决这个问题,但其中任何一个都不走运。显然,它在允许任何服务时工作的事实告诉我,此服务列表中缺少其他内容,但我不知道是什么!
对于可能遇到此问题的其他任何人,问题归结为使用内核模式身份验证,以及应用程序池帐户的域用户帐户。
内核模式身份验证会为您完成与 IIS SPN 相关的大部分工作,但它希望您将系统帐户用于应用程序池标识。如果您使用域帐户,则需要为此用户设置 HTTP SPN。然后,您需要在此用户帐户上委托对 SQL 的访问,而不是在 IIS 机器帐户上,就像您通常使用内核模式身份验证一样。
归档时间: |
|
查看次数: |
2809 次 |
最近记录: |