我有一个 aspnet 核心 MVC 应用程序,我需要注入IPrincipal
当前请求,以便我知道谁是当前登录用户。我按照这篇文章没有问题。
现在我需要IPrincipal
在我Dbcontext
的自动填充审计字段(CreatedBy、UpdatedBy 等)。IPrincipal
天真我可以在我的DbContext
构造函数中注入:
public MyDBContext(DbContextOptions<MyDBContext> options, IPrincipal principal)
但我正在使用,它在 WebAPI 请求DBContextPool
中重用实例。DbContext
IPrincipal
在这种情况下注入的正确方法是什么?
- - - - - - - - - - 更新 - - - - - - - - - - -
我想我可以遵循与HttpContextAccesor相同的方法,并创建一个IClaimsPrincipalAccessor
,将其注册为单例并将其注入到我的Dbcontext
.
对于 asp net core 应用程序,我需要一个HttpContextClaimsPrincipalAccesor
,ClaimsPrincipal
来自哪里HttpContext.User