尝试获取当前登录用户的 ID 以进行跟踪字段



我正在按照这个非常好的教程来设置一个包含 5 个字段的 BaseEntity 类:活动、创建日期、用户创建、修改日期、用户修改。需要这些跟踪字段的所有实体都将继承自此类。

在下面的小教程中,他向我展示了如何在 dbContext 中覆盖 SaveChanges() 方法,以便根据创建/更新正确设置这些字段。

我正在尝试弄清楚如何将当前登录的用户ID而不是名称存储到用户创建和用户修改字段

请让我知道用户ID是否不应该是我存储的内容。这始终是我过去在我创建的一些网络表单应用程序中所做的。

此外,在添加新记录时将 Active 设置为始终为 true 的最佳方法是什么。这应该在数据库上下文中完成还是在我的 BaseEntity 类中完成。我想我会在 BaseEntity 类中创建一个名为 Disable() 的函数,它将更改 Active=False。

请查看我正在使用的小教程

您可以创建包含 UserID 的 IIdentity/IPrincipal 的自定义实现。然后,可以从上下文或线程中检索此值,并将其强制转换为正确的类型。

从 Thread.CurrentPrincipal 设置 HttpContext.Current.User

最新更新