【问题标题】:Why i have to use httpContextAccessor in Asp.Net to get user name and role?为什么我必须在 Asp.Net 中使用 httpContextAccessor 来获取用户名和角色?
【发布时间】:2021-08-28 11:03:20
【问题描述】:

我是 asp.net 的新手,我正在观看一个课程来学习它。

在本课程中,httpContextAccessor 用于获取用户名及其角色。 但我找不到使用它的原因。我可以调用全局“用户”并在不使用 httpContext 的情况下获取数据,如下所示。

var role = User.FindFirstValue(ClaimTypes.Role);
var name = User.Identity.Name;

而不是

_LoginUserId = httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
_Userrole =httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.Role);

为什么我必须在 Asp.Net 中使用httpContextAccessor 来获取用户名和角色?

【问题讨论】:

    标签: asp.net-mvc httpcontext


    【解决方案1】:

    HttpContextAccessor 背后的主要原因是在服务中使用 httpcontext,因为用户连接到 http 上下文,并且仅在 Web 项目中可用,除非在库中显式添加程序集,请查看 this 链接了解更多详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 2022-06-23
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多