从触发器中查找AspNetUser

时间:2016-10-28 17:14:26

标签: c# sql asp.net sql-server asp.net-mvc

我正在使用ASP.NET MVC应用程序。在这个应用程序中,我想更新刚写入的记录上的一些数据字段 - 包括负责更改的人员的用户ID。问题是我不知道如何找出谁改变了记录。

我在我的脚本中使用了CURRENT_USER,但它总是返回当前的SQL_SERVER安全用户 - 在这种情况下" dbo"因为那是ASP.NET MVC连接到数据库的用户。这意味着所有更改都是由同一个用户完成的。如果我能获得AspNetUser记录ID,那我就没事了。

任何想法?我是否需要找到为所有网络登录添加唯一用户的方法?这在任何地方都没有提到,所以我怀疑它没有预料到。

由于

1 个答案:

答案 0 :(得分:0)

从SQL Server的角度来看,"用户"数据库是您的MVC应用程序,而不是登录到您的Web应用程序的用户。改变这种情况的唯一方法是为所有Web应用程序用户创建数据库登录,但我不推荐这种方法。

恕我直言,最好将提到的功能从SQL Server触发器移动到您的数据访问层(在.NET中,您的"存储库"或您正在使用的任何数据访问模式)。