【问题标题】:Window authentication in sql server and asp.netsql server 和 asp.net 中的窗口身份验证
【发布时间】:2011-06-24 23:45:12
【问题描述】:

我正在为我的 asp.net Web 应用程序使用 sql 数据库的 Window 身份验证。但是在我将我的网站部署到另一台计算机后,我无法连接到数据库。是否有任何用于设置用户名的窗口身份验证属性和web.config 文件中的密码。

【问题讨论】:

    标签: c# asp.net sql-server-2008


    【解决方案1】:

    这听起来像你的场景吗?

    • 在本地计算机上构建的 IIS Web 应用程序
    • Web 应用使用 Windows 身份验证
    • Web 应用程序也在本地计算机上与数据库对话
    • Web 应用用户也有有效的数据库登录
    • Web 应用用户凭据通过可信连接传递到数据库

    一切都很好。然后将其移至数据库和 IIS 不再位于同一服务器上的不同环境,然后您无法让数据库识别 IIS 传入的凭据?

    如果是这样,那么欢迎几个月前来到我的地狱。问题是一旦两个进程不在同一个盒子上,它们就不再相互信任。需要网络管理权限才能使两个进程跨服务器边界相互信任。不幸的是,我没有写博客,但一般步骤是

    • 将 IIS 服务帐户标记为可信任(活动目录设置)
    • 将服务主体名称 (SPN) 设置为 netbios 名称或 FQDN
    • 必须在两个盒子上设置一些东西以表明它们可以相互信任

    抱歉,我的记忆模糊不清,而且由于我不是有资格修复任何东西的人,所以我只能观察他们点击按钮。 How to connect to SQL Server using Windows Authentication 上的起始文章让我们走得很远。

    【讨论】:

    • 我已将我的 Web 应用程序部署到 IIS 服务器,并且我的数据库位于同一台服务器上。我想在该服务器上使用不同的用户 ID 访问应用程序。
    【解决方案2】:

    这涉及一个事实,即在您的开发人员框中,您(或匿名用户?或开发者 Web 服务启动的用户?)受本地 SQL 实例的信任。但是,当您部署时,运行 ASP.NET 的用户不受信任。

    选项

    • 正如 George 所说,使用 SQL 登录,而不是 windows
    • 在 Web 服务器和 SQL Server 之间建立适当的信任
    • 为数据上下文模拟用户(这可能会变得复杂,顺便说一句)

    【讨论】:

      【解决方案3】:

      您很可能使用受信任的连接字符串,例如

      数据源=myServerAddress;初始 目录=myDataBase;集成 安全=SSPI;

      ...因为您正在使用 Windows 身份验证。您需要使用标准连接字符串。例如

      SQL Server 2008:

      数据源=myServerAddress;初始 目录=myDataBase;用户 id=我的用户名;密码=我的密码;

      请务必在 SQL Server 中设置非 Windows 身份验证用户。

      【讨论】:

      • 如果 OP 想要降低安全性以使事情正常进行,这很有效。
      • @Gregory 除非他在具有 Windows 身份验证/sql/权限的帐户下运行此站点,否则在他将其部署到的任何服务器上,都没有其他方法可以更改它。这不是什么更安全的问题,而是什么可以使它工作的问题。我想他需要提供更多信息才能得到完美的答案。 :)
      • 完全同意“更多信息”。只是想添加到语料库中,所以标记警告是明智的想法。
      • 感谢乔治的快速回复。问题是我没有管理员权限,所以我无法为我的数据库设置 sql 权限。
      【解决方案4】:

      身份验证模式应在 web.config 中设置。另外,请检查是否禁用了匿名身份验证。

      <authentication mode="Windows"/>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        • 2015-01-26
        • 2017-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多