为什么Windows身份验证使用错误的用户名

时间:2010-10-18 13:40:18

标签: sql-server asp-classic windows-authentication

我们有一个使用Windows身份验证的ASP站点连接到SQLServer数据库。该网站有三个实例,一个Dev环境(位于我的工作站上),一个UAT环境和一个生产环境,它们位于不同的服务器上。

当我访问Dev站点(使用与UAT站点相同的DB)时,我没有任何问题,该站点使用我的Windows帐户连接到数据库。但是,当我连接到UAT站点时,它使用一个不同的帐户(一个属于我,但未连接到我的默认Windows登录),该帐户未经DB许可,因此该站点返回以下错误:

  

Microsoft OLE DB Provider for SQL   服务器错误'80004005'        无法在登录'ANAML'中打开请求的数据库。登录失败。
  /inc/dbconnect.asp,第4行

Dev和UAT站点上的ASP文件是相同的,所以有人可以解释为什么UAT站点可能使用不正确的Windows帐户吗?这只影响我,来自所有工作站,而不影响其他用户。

重新启动了服务器和我的工作站,并在本地清除了我的互联网文件。

2 个答案:

答案 0 :(得分:5)

我在ServerFault的this page找到答案。似乎UAT服务器的登录详细信息已存储在“用户”控制面板中。在连接到网站时,删除控制面板中的相关条目可恢复正确的登录。

答案 1 :(得分:0)

好吧,我的ASP知识大部分已经消失,但我会看到我脑子里的东西。我首先想到的是,虚拟目录安全性在失败的服务器上配置不同。听起来您需要将其设置为“集成Windows身份验证”。

如果设置正确,那么我会问你的连接字符串。您的连接字符串是否指定了可信连接(例如,它没有指定用户名和密码)?

ANAML帐户来自哪里?它是仅限SQL登录还是Windows帐户?