Asp.net-Core

Asp.net Core 通過使用者 ID 獲取使用者

  • December 27, 2016

使用 Asp.net Core Identity 和實體框架核心,如何通過它的 UserId 屬性獲取 asp.net 使用者對象?我知道可以使用以下方法從 HttpContext.User 對象獲取目前登錄使用者:

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);

但顯然,目前不存在 UserManager.GetUserById() 方法。

您可以FindByIdAsync為此使用:

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

引用自:https://stackoverflow.com/questions/41350780