【问题标题】:Set IIS to run apps as and open SQL connections with user credentials将 IIS 设置为运行应用程序并使用用户凭据打开 SQL 连接
【发布时间】:2014-03-20 02:00:58
【问题描述】:

对于那些已经这样做了一段时间的人来说,这将是一种轻快的问答方式。我刚刚从 winforms 切换到 webforms。 目前,我在 IIS 服务器上的 ASP 应用程序使用 IIS 服务器的凭据打开与 SQL 服务器的连接。我将 IIS 服务器名称添加到 SQL 服务器安全性,以便 SQL 集成身份验证可以正常工作。因此,我所有的 LinqDataSources 也都运行良好。但是,当我使用 SqlDataSource 时,用户的凭据将传递给 SQL 服务器。只要我从域用户登录的域上的计算机访问 ASP 应用程序(使用 SQL 权限),SqlDataSource 就可以正常工作。如果我从不在域计算机上且域用户登录 SQL 的浏览器打开同一个 ASP 应用程序,则身份验证失败。我可以在连接字符串中提供用户的凭据,但 SQL 服务器未设置为 sa 身份验证(仅集成身份验证),我现在不想更改它。 如何设置 IIS 以将 ASP 应用程序作为 SQL 用户进行身份验证,或者尽管集成身份验证,我如何强制进入连接字符串。

【问题讨论】:

标签: c# asp.net sql webforms


【解决方案1】:

如果您启用了集成身份验证,您对 webforms 和数据源控件的正确性将使用登录用户,事实上它与服务器在同一个域中而不是在另一个域中工作,这表明它从配置点工作正常看来,也许是信任关系问题,您可以从其他域访问任何资源,它们可以在您的 sql 之外连接到网络服务器吗?如果是这样 IIS 必须正常工作,并且凭据可能没有 SQL 服务器上的权限,请考虑使用存储过程并设置角色 db_executor 并在 SP 上分配该角色执行权限,无论如何它更安全

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 2016-10-08
    • 2020-04-22
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多