使用可信连接时,使用哪个帐户对ASP.net进行SQL身份验证?

时间:2014-09-04 11:38:26

标签: sql asp.net vb.net active-directory

我正在尝试在IIS服务器上正确配置asp.net 4.5。

我已经能够导航并启动一个不包含任何数据连接的ASPX页面,因此我知道对本地目录的应用程序池身份验证正常工作。

现在虽然我有一个独立的SQL服务器连接到域,并且在使用可信连接将ASPX页面连接到服务器的代码中存储了连接字符串。在visual studio调试模式下运行时,连接正常 - 但此时我认为它正在使用我的登录凭据。

我的问题是,当用户在新的IIS7服务器上托管时通过浏览器调用aspx页面时,使用哪个帐户在使用可信连接时调用SQL服务器? - 它是最终用户还是来自IIS服务器的本地帐户?

当我调用嵌入了数据连接的页面时,我收到错误:用户ADMIN \ PCNAME $ ...登录失败,这表明这是它正在使用的帐户。但是,此帐户并不存在于我所知道的域中。 - 或者是吗?!

提前致谢,

1 个答案:

答案 0 :(得分:0)

它将使用ASP.NET运行的帐户,正如您已经解决的那样。您通常应该做的是创建一个域帐户(具有正确的权限)并在该帐户下运行您的ASP.NET AppPool。然后,受信任的连接将使用该帐户连接到数据库,并且只要您已授予其访问权限(您可以作为域帐户),它就应该都可以正常工作。

添加了:

经过一些来回评论,让我们回到开始:设置新的AppPool与域用户帐户一起运行,并回收AppPoolo。什么是密码错误?如果它的IIS试图启动AppPool,那么您给AppPool的密码错误,或者密码设置为在首次登录时更改是极端的。 如果它不是IIS,而是打开数据库连接,您确定数据库允许此域帐户访问数据库及其中的表格吗?您为此帐户分配了哪些角色?此外,它试图执行什么SQL语句(如果它足够远,可以尝试执行一个语句)?

我建议你在原始问题中提出任何回复 - 如果评论太多,评论就会变得拖累。