4

使用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()方法目前不存在。

回答

7

您可以使用該FindByIdAsync

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