如何在ASP.NET Core中获取当前用户

我想要一个当前用户来获取用户信息,例如电子邮件。但是我不能在asp.net核心中做到这一点。我很困惑这是我的代码。

HttpContext在控制器的 中几乎为null

。在每个操作中都吸引用户是不好的。我想一次获取用户信息并设置为ViewData;

public DashboardController()

{

var user = HttpContext.User.GetUserId();

}

回答:

User.FindFirst(ClaimTypes.NameIdentifier).Value

下面的代码有效:

public Controller(IHttpContextAccessor httpContextAccessor)

{

var userId = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value

}

您应该注册IHttpContextAccessor

    public void ConfigureServices(IServiceCollection services)

{

services.AddHttpContextAccessor();

}

以上是 如何在ASP.NET Core中获取当前用户 的全部内容, 来源链接: utcz.com/qa/423390.html

回到顶部