为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

江户川乱折腾 2020-02-01 15:13:47
我想要一个当前用户来获取用户信息,例如电子邮件。但是我不能在asp.net核心中做到这一点。我很困惑这是我的代码。HttpContext在控制器的构造函数中几乎为null 。在每个动作中都吸引用户是不好的。我想一次获取用户信息并设置为ViewData;public DashboardController(){    var user = HttpContext.User.GetUserId();}
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

User.FindFirst(ClaimTypes.NameIdentifier).Value

编辑构造函数


下面的代码有效:


public Controller(IHttpContextAccessor httpContextAccessor)

{

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

}

编辑RTM


您应该注册IHttpContextAccessor:


    public void ConfigureServices(IServiceCollection services)

    {

        services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();

    }


查看完整回答
反对 回复 2020-02-01
  • 3 回答
  • 0 关注
  • 2053 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信