Azure SQL和Web应用程序用户标识

时间:2017-06-14 08:08:20

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

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

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

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

我已经看过使用Azure AD提供ADFS以登录Web应用程序,然后在数据库的连接字符串上使用此标识。这很好用,但我担心我们正在给应用程序用户帐户直接访问数据库 - 这可能没问题,但似乎有风险。如果恶意用户有些如何设法将SSMS提供给我们的数据库服务器,他们就会拥有可以使用的用户名和密码。

此外,如果我们没有使用AD来管理我们的用户帐户 - 例如ASP.Net会员资格......我们可以在这做什么?我们可以在连接时设置他们的任何属性吗?

由于 大卫

2 个答案:

答案 0 :(得分:1)

查看新的SESSION_CONTEXT()功能,该功能是为此方案添加的。

答案 1 :(得分:0)

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