【问题标题】:Pass credentials from ASP.NET to IIS and SQL Server将凭据从 ASP.NET 传递到 IIS 和 SQL Server
【发布时间】:2018-11-10 19:53:16
【问题描述】:

我有一台运行 IIS10 的机器,另一台运行 SQL Server Express 的机器。我创建了一个 ASP.NET Razor 页面 Web 应用程序。所有机器都是 Windows 10 专业版。

我终其一生都无法弄清楚如何从 Web 应用程序获取凭据、传递给 IIS 以及传递给 SQL Server。我想在用户级别管理对 SQL Server 的访问,而不是 IIS DefaultAppPool 身份。

以前有人做过吗?

【问题讨论】:

  • 所以您想为您的 Web 应用程序的每个用户都拥有一个单独的 SQL Server 用户?这听起来像是一场噩梦。你希望通过这样做来实现什么?
  • 我认为您正在寻找的技术称为模拟。如果 IIS 和 SQL Server 在不同的机器上运行,那么您可能还需要配置 Kerberos。
  • 你试过impersonation吗?
  • 这样的方法不再是使用数据库的常见做法(考虑云计算场景)。如果您坚持,请查看 ASP.NET 用户模拟。

标签: sql-server asp.net-mvc razor iis-10


【解决方案1】:

您是否尝试将用户的网络登录信息传递给数据库,而不是使用专用的数据库帐户?我认为您需要一个受信任的连接。

  1. 授予您的用户访问您的数据库的权限
  2. 在 IIS 中禁用匿名访问并设置站点 SSL
  3. 在您的连接字符串中,将 Trusted_Connection 属性设置为 true

Connection Strings

如果用户使用除 IE 之外的任何浏览器,系统可能会提示他们输入凭据。

【讨论】:

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