“尝试使用Windows身份验证时,用户''登录失败

时间:2011-10-05 09:58:04

标签: asp.net sql-server connection-string windows-authentication

在我的ASP.NET web.config上,我有连接字符串:

initial catalog=DatabaseName; data source=(local); Integrated Security=SSPI;MultipleActiveResultSets=True; Connect Timeout=200;

之前我曾使用此连接字符串进行Windows身份验证,但现在我收到了错误:

Login failed for user ''.

这似乎是一个SQL身份验证错误,并且用户名是空白的,因为我没有提供用户名或密码。

为什么应用程序尝试SQL身份验证而不是Windows?

如何解决此问题?

1 个答案:

答案 0 :(得分:2)

要使您的连接字符串能够在ASP.NET应用程序中运行,您的请求必须在可以访问SQL Server的用户身份下运行。默认情况下,它将使用应用程序池工作进程的标识,通常,此标识是无法访问SQL Server的本地用户(在服务器上)。因此,您可以尝试更改此标识以查看是否有帮助。

如果要使用访问ASP.NET站点的Windows用户的身份,则可以在IIS和ASP.NET中启用集成身份验证。您还需要打开ASP.NET impersonation,以便ASP.NET请求将根据用户的身份执行。

如果您仍然遇到问题,那么您可能会面临与Windows身份验证相关的double hop issue(请参阅文章中的两个链接以获取更多信息和故障排除)。