【问题标题】:How do I configure SQL Server to allow access via IIS如何配置 SQL Server 以允许通过 IIS 访问
【发布时间】:2009-06-30 16:03:22
【问题描述】:

我有一个将数据存储在本地 SQL Server 2008 数据库中的 Web 服务。如果我在我的帐户下运行 Web 服务,则 Web 服务可以成功访问数据库。但是,如果我使用 DefaultAppPool (IUSR) 帐户,则从 Web 服务访问数据库会失败。

如何在 SQL Server 上设置安全性以允许通过 IIS 访问特定数据库?

我收到的具体错误消息是: 用户 'IIS APPPOOL\DefaultAppPool' 登录失败

【问题讨论】:

  • 您的网络服务中的连接字符串是什么?
  • 实体框架连接字符串,如下:
  • 为了提高安全性,您可以通过创建 HTTP 端点在 SQL Server 本身内创建 Web 服务。

标签: sql-server iis


【解决方案1】:

你有两个选择(很明显!):

  • 而不是使用 Windows 集成 安全性使用 SQL 身份验证 反而。
  • 如果你不能或不想,那么你有 在 SQL Server 中创建新用户 与该 Windows 帐户相关的内容。
  • 或者(第三个选项)您可以更改网络服务以在您知道有效的帐户下运行。

【讨论】:

  • +1。同意,只使用特定于此应用程序的某种帐户(SQL 或 A.D.)。将该帐户放入角色,设置角色的权限。
【解决方案2】:

我通常在域用户帐户下运行应用程序池,这样您就可以控制服务器上每个站点的特定用户。

如果我不能使用域帐户,我会将站点作为“网络服务”运行 - 与 SQL 中的用户对应的用户将是机器帐户(MACHINENAME$ - 将“机器名”替换为您的IIS 服务器名称”)。

如果您计划使用新的 IIS7 IIS 用户(不是 Windows 用户),则必须使用 SQL 身份验证而不是 Windows 身份验证来访问 SQL 数据库。

【讨论】:

    猜你喜欢
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多