在控制器之外访问HttpContext.Current.User的新等价物是什么?

时间:2015-12-27 09:54:24

标签: asp.net-core-mvc

我正在编写一个访问有关当前用户信息的服务。

目前我将User属性从控制器通过参数传递到我的逻辑类中并以这种方式使用ClaimsPrincipal。

我知道通常有一些方法可以全局访问当前用户(例如,在以前的版本中使用HttpContext.Current.User),那么MVC 6中的当前用户是什么?

The answer to this question解释说,ClaimsPrincipal.Current不是线程安全的,因此不能替代HttpContext.Current.User

1 个答案:

答案 0 :(得分:6)

根据this answer,一种方法是使用DI将HttpContextAccessor注入您的类,然后您可以通过_httpContextAccessor.HttpContext.User

访问当前用户

我不会详细介绍实施细节,因为他的答案非常清楚。

由于该问题一般是指HttpContext,而不是特定的当前用户,我觉得我的问题仍值得留下以供参考。