2014-02-14 56 views
0

我有一个正试图访问SQL Server数据库的ASP NET应用程序,当我运行它,我得到一个错误说授予SQL Server数据库访问IIS APPPOOL 默认应用

“用户登录失败IIS APPPOOL \默认应用

搜索,我发现,我应该允许访问该用户,所以我执行下面的脚本的网页:

grant execute on schema :: dbo to [IIS APPPOOL\DefaultAppPool] 

它作为我的数据库的脚本成功执行,但我仍然得到"Login Failed"错误。

什么是缺失?

回答

3

检查您的DefaultAppPool用于连接的用户。

在您的IIS管理器上检查DefaultAppPool高级属性并查找标识。您需要为其提供足够权限的用户,具体取决于您的网站要执行的操作。

我通常为不同的网站创建不同的AppPools,具体取决于他们会做什么,例如,如果您的应用将文档写入服务器上的文件夹,AppPool的用户需要对该文件夹进行写入访问。

使用管理员用户也不是一个好主意,因为这可能会导致潜在的安全漏洞。然而,它可能是一个很好的方法来检查你的问题是否来自那里。

+0

在SSME我添加了NT AUTHORITY \ NETWORK SERVICE(西班牙语中的“NT AUTHORITY \ Servicio de red”)的登录名,在用户映射中给了它db_Owner数据库的角色成员资格。在IIS7.5中,DefaultAppPool被设置为ApplicationPoolIdentity(ProcessModel \ Identity)。不知道还有什么可以做的......我的网站是一个测试网站,我想为它提供一切为初学者的特权 – Rafael

-1

我想我已经知道它是什么了。当我升级SQL Server Express时,它安装了一个新的服务器。\ SQLEXPRESS(因为我使用了“new sql instance”),在这个服务器中配置的远程连接而不是LocalDB,我的数据库仍然在LocalDB中。但现在我得到了其他错误,可能与WCF数据服务有关...

相关问题