我正在尝试将我们已有的遗留应用程序迁移到Windows Server2008 x64和IIS7。它是用Classic ASP编写的,并连接到SQL Server2005数据库。
但是,当页面运行时,我收到以下错误:
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
我使用的连接字符串是:Driver=SQL Server; Server=SERVERNAME; Initial Catalog=DBNAME;我看不出它使用匿名登录的任何理由,因为当它在我的32位Win2k3服务器上运行时,它使用DOMAINNAME\SERVERNAME$访问SQL server。
我有以下设置。
SQL Server 2005 -在混合模式下运行。IIS7应用程序池-允许32位应用程序设置为True。
我还将服务器添加为SQL Server上的用户。
我现在已经尝试了一些东西,但我开始没有想法了。
发布于 2010-02-19 22:34:52
我想我已经修好了。迁移到Win2k8意味着我需要将连接字符串驱动程序更改为SQL Native Client;。
发布于 2010-02-19 22:21:49
有一些解决方案。
使用SQL身份验证,而不是SSPI。它将工作,因为您的数据库是在混合模式。
如果由于任何原因,您不想更改身份验证。
顺便说一句,NT AUTHORITY\ANONYMOUS LOGON很奇怪,就好像数据库服务器和应用服务器不在同一个域中一样。请检查这一点,直到进一步前进。
1)在Active Directory中创建用户
2)在IIS7上创建一个应用程序池,并以您创建的用户"Identity“的身份
3)授予该用户在数据库中所需的权限和角色
发布于 2016-02-19 03:55:41
将匿名身份验证凭据设置为您的应用程序池标识。
(默认值为特定用户--> IIS用户)。然后,您可以在连接字符串中使用可信连接,因为它现在将使用AppPoolIdentity帐户。
https://stackoverflow.com/questions/2296773
复制相似问题