经典ASP问题连接到远程SQL Server数据库(Classic ASP problem conn

2019-06-26 03:56发布

我有我试图连接到SQL Server 2008数据库不同的服务器上的传统的ASP应用程序。 ASP的应用正在从供应IIS7 Windows Server 2008上。

我已经改变了网站的应用程序池下特定的Windows帐户运行, 我已经验证访问数据库的远程服务器上。

然而,当我运行在浏览器中的应用程序,我得到这个错误:

Application Error 
Number: -2147217843 (0x80040E4D)
Source: Microsoft OLE DB Provider for SQL Server
Description: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. 

为什么尝试使用NT AUTHORITY \匿名登录连接? 该应用是否池标识并不适用于传统的ASP代码吗? 我怎样才能使这个连接为一个特定的用户?

编辑

下面是我使用的连接字符串:

供应商= SQLOLEDB.1;数据源= myDbServer;初始目录= MyDatabase的;集成安全性= SSPI

Answer 1:

对于网站使用的应用程序池标识为传统的ASP,您需要更改用于匿名身份验证凭据。 默认情况下,该网站将被设置为使用特定的用户,即IUSR。

选择从您的网站的IIS区域验证 ,然后选择匿名身份验证 ,然后编辑 。 从特定用户 应用程序池身份的转变。

所以,如果这些文件被泄露,你不会失去凭证的控制它的最好了SQL身份验证使用Windows身份验证(集成安全性),这样你就不会在你的配置文件的凭据。



Answer 2:

请问您的应用程序模拟调用方? 您需要启用约束委派: 为委派配置服务器 。



Answer 3:

你应该指定连接字符串的用户名和密码www.connectionstrings.com或设置IIS应用程序然而,作为特定的用户,那么这将使得很多在IIS过时的安全设置运行。

Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase;Uid=myUsername; Pwd=myPassword;

而这里看看: aspfaq

最后,确保匿名访问在IIS站点禁用,因此,它实际上模仿你所选择的,而不是通过传递匿名令牌用户。



文章来源: Classic ASP problem connecting to remote SQL Server database