[英]IIS to SQL Server kerberos auth issues
我们有一个第三方产品,允许我们的一些用户通过一个单独的服务器(SvrWeb)上的网站操作数据库中的数据(我们称之为SvrSQL)。
在SvrWeb上,我们为此应用程序设置了一个特定的非默认网站,因此我们不使用http://SvrWeb.company.com访问网站,而是使用http://application.company.com解析为SvrWeb并且主机标头解析为正确的网站。
还为此站点设置了一个特定的应用程序池,它使用我们称之为“company \\ SrvWeb_iis”的Active Directory帐户标识。 我们设置允许在此帐户上进行委派,并允许它模拟我们希望它执行的另一次登录。 (我们希望此帐户将登录到网站的人员的AD凭据传递给SQL Server而不是服务帐户。
我们还通过以下命令为SrvWeb_iis帐户设置了SPN:setspn -A HTTP / SrvWeb.company.com SrvWeb_iis
网站启动,但调用数据库的网站部分返回消息:无法执行数据库查询。 用户'NT AUTHORITY \\ ANONYMOUS LOGON'登录失败。
我认为我们已经正确设置了SPN信息,但是当我检查SrvWeb上的安全事件日志时,我看到了登录的条目,但它似乎是使用NTLM而不是kerberos:
Logon Type: 3
Logon Process: NtLmSsp
Authentication Package: NTLM
任何有关此设置的想法或文章都将非常感谢!
如果它有帮助,我们使用SQL Server 2005,Web和SQL服务器都是Windows 2003。
kerberos失败有几个可能的原因,包括缺少SPN和重复的SPN。
如果SQL在自定义帐户下运行,您还需要为SQL添加SPN。
另外请记住,您应该为FQDN添加SPN,这是DNS中的主机(A)条目而不是CNAME。
检查NTAuthenticationProviders的值
http://support.microsoft.com/kb/215383
尝试使用DelegConfig,它会显示其SPN或其他内容时缺少的内容。
http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1887
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.