使用ASP的域帐户对sql 2005进行身份验证

时间:2009-09-23 17:00:40

标签: sql-server-2005 authentication asp-classic ado

我似乎无法使用Windows帐户从我的ASP页面访问我的数据库。 这是我的连接字符串: PROVIDER = SQLOLEDB; DATA SOURCE = NHA-SQL-I0; UID = DOMAIN \ NHA-svcRequestForm; PWD =密码; DATABASE = RequestForms

我得到了经典: 用于SQL Server的Microsoft OLE DB提供程序(0x80040E4D)用户'NIRHB \ NHA-svcRequestForm'登录失败。

我使用的任何域帐户都会出现这种情况。使用SQL帐户工作正常。 知道我缺少什么设置/配置吗?

由于

3 个答案:

答案 0 :(得分:1)

这种类型的连接字符串用于SQL帐户;您实际上尝试以名为“DOMAIN \ NHA-svcRequestForm”的SQL用户身份进行连接。

尝试这样的事情:

PROVIDER=SQLOLEDB;DATA SOURCE=NHA-SQL-I0;DATABASE=RequestForms;Trusted_Connection=YES

无论尝试连接数据库的任何应用程序都必须运行作为域用户。这意味着必须将应用程序池的标识设置为您的域用户(如果这是IIS中的Web应用程序),或者服务标识必须是域用户(如果是Windows服务)。

答案 1 :(得分:1)

在连接字符串中指定用户名和密码仅适用于SQL身份验证。

对于集成身份验证(即使用“域帐户”),您必须指定Integrated Security=SSPI。您无法明确指定用户名,SQL将验证运行该连接的进程的帐户(即ASP帐户)。

如果要对连接到您网站的域用户进行身份验证,则必须在应用池中启用模拟并启用约束委派。请参阅How To: Use Protocol Transition and Constrained Delegation in ASP.NET 2.0

答案 2 :(得分:0)

签出http://www.connectionstrings.com/sql-server-2005他们拥有所有连接字符串以及如何使用可信连接