【问题标题】:Granting sql server database access to IIS APPPOOL\DefaultAppPool授予对 IIS APPPOOL\DefaultAppPool 的 sql server 数据库访问权限
【发布时间】:2014-03-13 19:47:21
【问题描述】:

我有一个 ASP NET APP 试图访问一个 sql server 数据库,当我运行它时,我得到一个错误提示

“用户 IIS APPPOOL\DefaultAppPool登录失败”

在网上搜索我发现我应该授予这个用户访问权限,所以我执行了以下脚本:

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

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

缺少什么?

【问题讨论】:

    标签: asp.net iis-7.5 sql-server-2012-express


    【解决方案1】:

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

    在您的 IIS 管理器上检查 DefaultAppPool 高级属性并查找 Identity。你需要给它一个具有足够权限的用户,这取决于你的网站要做什么。

    我通常为不同的站点创建不同的 AppPools,这取决于他们将做什么,例如,如果您的应用程序将文档写入服务器上的文件夹,则 AppPool 的用户将需要对该文件夹的写入权限。

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

    【讨论】:

    • 在 SSME 中,我为 NT AUTHORITY\NETWORK SERVICE(西班牙语中的“NT AUTHORITY\Servicio de red”)添加了一个登录名,在用户映射中为其赋予了数据库的 db_Owner 角色成员资格。在 IIS7.5 中,DefaultAppPool 设置为 ApplicationPoolIdentity (ProcessModel\Identity)。不知道还能做什么...我的网站是一个测试网站,我想为初学者提供一切权限
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2020-07-30
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2012-09-21
      相关资源
      最近更新 更多