用户'IIS APPPOOL \ myAppPool登录失败

时间:2013-05-07 19:48:16

标签: asp.net sql-server iis-7

我收到以下错误消息:

  

无法打开登录请求的数据库“SmallBakery”。登录失败。用户'IIS APPPOOL \ MyAppPool'

登录失败

怎么能纠正这个?我正在使用Windows 7企业版和Sql server 2012。

5 个答案:

答案 0 :(得分:21)

如果您不进行更改,则每个应用程序池都有自己的标识。在您的情况下,只需使用SQL Management Studio将新用户添加到名为SmallBakery的数据库IIS APPPOOL\MyAppPool。您可以在数据库的“安全/用户”子节点中找到用户列表。这看起来应该是这样的:

enter image description here

要进行测试,请让该用户成为db_owner角色的成员。如果可行,请删除此角色,然后让其成为db_datareaderdb_datawriter的成员。

这样,每个应用程序池(可能每个网站,如果它们都使用自己的应用程序池)只能访问相应的数据库。

答案 1 :(得分:1)

这取决于您希望在应用中进行身份验证的方式。您是否尝试在自己的应用中使用模拟?

现在正在发生的事情是,在尝试访问数据库时,IIS中的应用程序池的身份正在传递。您可以将应用程序池的标识更改为可以访问数据库的内容,也可以更改连接字符串以使用特定登录而不是集成安全性。

答案 2 :(得分:0)

查看此帖子。您的问题听起来与我遇到的问题类似,但错误信息相同。

http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-2-instance-ownership.aspx

答案 3 :(得分:0)

与其他人一样,到目前为止,您需要将您的应用池系统用户(IIS AppPool \ myapppool)添加为具有相应权限的该数据库的数据库用户。

请注意,这只能在您的IIS /服务器上找到,但如果您计划将应用程序迁移到其他IIS / Sql服务器,则需要在SQL Server和IIS中进行更改。我建议你也考虑使用sql server身份验证 - 对你的具体情况来说可能更方便。

答案 4 :(得分:0)

就我而言,这些步骤使我能够成功处理此错误。希望它也对您有帮助

enter image description here

相关问题