ASP.NET Web API 跨层传递用户信息

5
我正在为我的Web API服务使用基于令牌的身份验证。但是,我想要跟踪所有记录的创建者和创建时间信息。因此,在我的AuthenticationFilter中,我设置了HttpContext.Current.UserGenericIdentity与userId一起。但是,我不希望从我的数据层访问HttpContext,因为我认为数据层不应该知道任何关于HttpContext的信息。

那么,有没有最佳实践可以在不使用 `HttpContext' 的情况下通过层传递用户信息?

1个回答

2

将您的主体分配给HttpContxt.Current.UserThread.CurrentPrincipal

然后,您可以从代码中的任何位置访问Thread.CurrentPrincipal,当然,甚至可以从没有对System.Web有引用的项目中访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接