Asp.net核心用户获得用户Id

问题描述:

使用Asp.net Core Identity和实体框架核心,如何通过它的UserId属性获取一个asp.net用户对象?我知道这是可能获得当前的使用记录从HttpContext.User中对象的用户:Asp.net核心用户获得用户Id

UserManager.GetUserAsync(HttpContext.User) 

然而,当管理员登录,我希望他们能够访问/修改任何用户的数据,以便更新用户电子邮件和电话号码,默认情况下它们是asp.net用户对象的一部分。

理想情况下,我想能够做这样的事情:

var userRecord = _userManager.GetUserById(model.userId); 
//update user record 
userRecord.Email = model.Email; 
userRecord.PhoneNumber = model.PhoneNumber; 

var newRecord = await _userManager.UpdateAsync(userRecord); 

但obvisously的UserManager.GetUserById()方法目前不存在。

您可以使用该FindByIdAsync

var user = await _userManager.FindByIdAsync(model.userId);