考虑一个 ASP.NET 应用程序到 IIS 实例 (Windows XP Service Pack 3)。该应用程序正在调用 SQL Server 2000。
导航到该网站时,出现错误:
用户(用户名)登录失败
你怎么解决这个问题?
答案1
您的问题与 IIS 无关,而听起来像是 SQL Server 登录权限问题。
检查您的配置:
- IIS6 池标识
- 应用程序的 web.config ConnectionStrings 节点。
- 在 ASP.NET 应用程序与 SQL Server 实例建立 ADO.NET 连接时,其中的硬编码值。
- 确保你的 SQL 实例上已启用登录。确保你可以通过查询分析器自行登录。
答案2
您需要找出 ASP.NET 应用程序正在使用哪种类型的身份验证。它可以是 SQL Server 身份验证或 Windows 身份验证。
如果是 SQL Server 身份验证:
登录名/密码组合将存储在 ASP.NET 应用程序目录中的 web.config 文件中。您可以在 SQL Server 中创建用户/密码并更新连接字符串以使用这些。
如果是 Windows 身份验证:将使用的用户名可以是当前用户(如果启用了模拟),也可以是运行 IIS 进程的用户(取决于您的操作系统、IIS 版本和配置,可以是各种用户)。您需要授予该用户(或该用户所属的安全组)对您的数据库的访问权限。