2017-06-14 45 views
0

我正在寻找关于开发人员在进行更新时如何将其登录用户身份传递到数据库的建议。Azure SQL和Web应用程序用户标识

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

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

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

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

感谢 大卫

回答

相关问题