Asp.net - 当我在IIS上运行我的网站时,数据库登录失败

Asp.net - 当我在IIS上运行我的网站时,数据库登录失败

问题描述:

在我的网站中,我使用“windows验证模式”访问我的sqlserver数据库。 当我使用visual studio运行我的网站时,一切正常。 但是当我在IIS上托管我的网站时,每次出现错误消息“数据库登录失败”。Asp.net - 当我在IIS上运行我的网站时,数据库登录失败

用户登录失败“HAL \ IUSR_HAL”。(HAL是我的web服务器的名称)

我应该做的数据库属性一些修改,使我可以通过IIS登录到数据库?

+0

您是否使用匿名身份验证运行您的网站? – bristows 2010-02-24 19:26:15

+0

@simon:yes .... – Akshay 2010-02-24 19:30:35

经过一番研究,我得到这个问题的答案。

要通过在IIS上运行的网站访问数据库,IIS的IUSR帐户和ASPNET帐户应经过身份验证并授权给sqlserver。

(ASPNET帐户是IIS处理asp.net页面相关联的dotnet框架的帐户)。

做到这一点:

开放sqlserver的管理工作室。 去安全。 然后右键单击登录并选择“新登录”。 按登录名称上的“搜索”。 然后点击“高级”按钮。 然后按“立即查找”按钮。 然后从列表中选择上面提到的两个帐户(一次一个) 然后按确定。 选择登录名后转到它的“用户映射”选项。 然后从那里选择数据库并检查所需的权限。

现在你完成了一切。按OK。

你可以从你的网站访问数据库。

如果您在IIS中使用匿名访问,则需要为连接字符串中的有效sql用户提供用户标识和密码。

+0

也可以配置IIS使用的用户帐户。如果您不想在连接字符串中输入用户名/密码,请确保该帐户可以访问数据库。 – 2010-02-24 19:34:17

+0

@Frank:怎么做请解释.. 我没有太多的IIS经验。 – Akshay 2010-02-24 19:38:08

+0

以下是有关IIS使用匿名访问帐户的信息:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/9ded7af2-fcb7-4ed2-b007-e19f971f6e13.mspx?mfr=true – 2010-02-24 20:43:20

在web.config文件中找

<system.web> 

,并添加:

<identity impersonate="true" /> 
+0

@ J.B:这不是解决目的。 同样的问题依然存在。登录失败。 – Akshay 2010-02-24 19:57:09

+0

您是否启用了IIS中的匿名访问? 尝试微软指南: http://support.microsoft.com/kb/324274 – 2010-02-24 20:03:14

+0

@ J.B:YES ..匿名访问已启用。 – Akshay 2010-02-24 20:05:12

请查看以下链接:

http://msdn.microsoft.com/en-us/library/ms998292.aspx

希望这有助于。

感谢, 拉贾