【问题标题】:Connect to SqlServer using windows credentials使用 Windows 凭据连接到 SqlServer
【发布时间】:2011-02-11 10:19:03
【问题描述】:

我有一个 MVC 应用程序,在连接到 Sql Server 时我应该使用 Windows 凭据。

我不想使用这些凭据运行 AppPool,是否可以通过其他方式执行此操作?还是让应用程序池使用连接到 sql server 所需的凭据运行的首选方式?

编辑

稍微详细一点:

我们正在使用 ASP.NET 模拟/Windows 身份验证来确保 IIS 应用程序的安全性。这使得在连接到数据库时使用正确的 Windows 帐户有点困难。我们是否必须切换到 sql 身份验证或使用围绕数据库处理的自定义模拟(win api)?还有其他方法吗?

【问题讨论】:

  • 为什么不使用集成安全?这是一个问题吗?在连接字符串中使用它后,您需要配置 IIS 应用程序以允许使用 Windows 凭据登录。
  • 因为 ASP.Net 模拟已开启,并且不是已登录的用户帐户有权访问数据库。
  • 如果使用 Windows 凭据连接到 SQL Server,并且如果不使用集成安全性,您打算如何使用 SQL Server 验证用户密码?您是否有权访问用户的 Windows 帐户密码以传递给 SQL Server?
  • SQL Server 中的 Windows 身份验证始终使用当前登录的 Windows 用户的凭据进行身份验证...也许一个问题可能是“为每个 Windows 用户创建一个 SQL Server 用户帐户并使用该用户的使用 SQL Server 身份验证的帐户”之类的东西,但这与您的需要不同

标签: .net sql-server asp.net-mvc


【解决方案1】:

这是一个很好的article on MSDN,它涵盖了凭据模拟(与 Web 服务器在同一台计算机上的 SQL 服务器)和委派(与 Web 服务器在不同计算机上的 SQL 服务器)的场景。委派可能是 PITA 来设置,因此使用 SQL 身份验证可能是最简单的方法。

【讨论】:

    猜你喜欢
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多