【发布时间】:2020-10-06 11:02:50
【问题描述】:
我使用以下方法创建了用户并为每个用户分配了单个角色: 我必须更新留在管理员用户的用户信息和角色。
var userDet = new ApplicationUser
{
Email = model.Email,
UserName = model.Email,
TenantId = tenantId,
IsAdmin = false
};
var result = await _userManager.CreateAsync(userDet, model.Password);
if (model.Role == "ADMIN")
throw new NullReferenceException("Can't Add Admin Role to User!");
var assignRole = await _userManager.AddToRoleAsync(userDet, model.Role);
但我无法更新创建的用户角色,因为我无法从以下代码中的用户 ID 中获取角色 ID 和角色名称:
var user = await _userManager.FindByEmailAsync(model.Email);
var admin = await _userManager.FindByEmailAsync(model.AdminEmail);
bool IsAdmin = admin.IsAdmin;
var userDet = new ApplicationUser
{
OrganizationName = model.OrganizationName,
};
var result = await _userManager.UpdateAsync(userDet);
var user = await _userManager.FindAsync(model.Email);
string oldRoleName = await _userManager.GetRoles(user.Id).FirstOrDefault();
var removerole= await _roleManager.RemoveRoleAsync(user.Id, oldRoleName);
var result2 = await _userManager.AddToRoleAsync(user.Id, model.Role);
我无法从上述代码中检索 RoleName、roleid。 如何根据模型的 ID 更新用户。来自另一个用户的电子邮件用户。
【问题讨论】:
标签: asp.net-identity