ASP.NET Core Identity - get current user

前端 未结 7 637
灰色年华
灰色年华 2020-12-07 11:48

To get the currently logged in user in MVC5, all we had to do was:

using Microsoft.AspNet.Identity;
[Authorize]
public IHttpActionResult DoSomething() {
             


        
7条回答
  •  有刺的猬
    2020-12-07 12:47

    private readonly UserManager _userManager;
    
     public AccountsController(UserManager userManager)
     {
                _userManager = userManager;
     }
    
    [Authorize(Policy = "ApiUser")]
    [HttpGet("api/accounts/GetProfile", Name = "GetProfile")]
    public async Task GetProfile()
    {
       var userId = ((ClaimsIdentity)User.Identity).FindFirst("Id").Value;
       var user = await _userManager.FindByIdAsync(userId);
    
       ProfileUpdateModel model = new ProfileUpdateModel();
       model.Email = user.Email;
       model.FirstName = user.FirstName;
       model.LastName = user.LastName;
       model.PhoneNumber = user.PhoneNumber;
    
       return new OkObjectResult(model);
    }
    

提交回复
热议问题