在IIS 8.5上,我启用的唯一身份验证方法是Windows身份验证,带有协商和NTLM。当我在身份为域帐户的应用程序池下运行的任何ASP.NET应用程序中使用连接字符串时,都可以正常连接。在经典的ASP中,我得到:
Microsoft OLE DB Provider for SQL Server error '80040e4d'
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
据我所知,没有为委派配置服务器,也没有明确设置SPN。我正在通过FQDN(即netbiosname.mydomain.com)访问此框。
为什么它在ASP.NET中有效,但是在经典的ASP中却失败了?我正在经历双跳吗?有没有办法确认它实际上是双跳?
这是我得到的错误:
Microsoft OLE DB Provider for SQL Server error '80040e4d'
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
我发现了解决该问题的方法,我相信最后一步是唯一的帮助,但这是我所做的:
我想您需要将经典的ASP IIS网站设置为用于集成安全性的域帐户来运行。
要使ASP连接到数据库,请在IIS 6,目录安全->身份验证方法中的“启用匿名访问”下,将匿名访问帐户设置为具有数据库权限的AD帐户。
我把头发扯了一段时间。然后我尝试创建一个Windows用户帐户,并在SQL Server中具有适当的权限,并在连接字符串中使用“ Integrated Security = SSPI”。它像魅力一样运作-无需广告: