【问题标题】:Azure SQL and Web Application User IdentityAzure SQL 和 Web 应用程序用户身份
【发布时间】:2017-06-14 08:08:20
【问题描述】:

我正在寻找有关开发人员在进行更新时如何将登录用户的身份传递给数据库的建议。

为了简单起见,假设我们正在使用简单的 ADO.NET SQLCommand 将一些行插入到日志表中。该行有一个 UserId 列,该列需要填充登录用户,而不是连接字符串上使用的通用 userId。

显然,SQLCommand 可以接受“UserId”参数并简单地使用它。但我想知道是否有更好的选择可以省去为每个命令手动传递的情况。

我研究过使用 Azure AD 提供 ADFS 以登录 Web 应用程序,然后在与数据库的连接字符串上使用此标识。这很好用,但我担心我们正在让应用程序用户帐户直接访问数据库 - 这可能没问题,但似乎有风险。如果恶意用户通过某种方式设法将 SSMS 获取到我们的数据库服务器,他们将拥有可以使用的用户名和密码。

此外,如果我们不使用 AD 来管理我们的用户帐户 - 例如 ASP.Net Membership……我们可以在这里做什么?我们可以在连接时设置它们的任何属性吗?

谢谢 大卫

【问题讨论】:

    标签: asp.net-mvc webforms ado.net azure-sql-database ado


    【解决方案1】:

    查看新的 SESSION_CONTEXT() 函数,该函数仅针对此场景添加。

    【讨论】:

      【解决方案2】:

      请使用 T-SQL 调用 sp_who,或选择 suser_name() 它们显示已连接并执行 T-SQL 操作的用户的当前登录 谢谢 米雷克

      【讨论】:

        猜你喜欢
        • 2018-08-11
        • 1970-01-01
        • 1970-01-01
        • 2013-07-08
        • 2019-05-28
        • 2022-10-25
        • 1970-01-01
        • 2011-04-30
        • 1970-01-01
        相关资源
        最近更新 更多