添加用户角色并将其与用户进行映射
本文关键字:用户 映射 角色 添加 | 更新日期: 2023-09-27 17:50:49
我正在与ASP进行身份验证。. NET标识和Web API。
我有这样的代码:
public async Task<IdentityResult> RegisterUser(UserModel userModel)
{
IdentityUser user = new IdentityUser
{
UserName = userModel.UserName,
};
var result = await _userManager.CreateAsync(user, userModel.Password);
return result;
}
在AuthContext中,我用以下代码行添加了这些角色:
Roles.Add(new IdentityRole { Name = "User" });
Roles.Add(new IdentityRole { Name = "Admin" });
Roles.Add(new IdentityRole { Name = "Superadmin" });
所以现在我需要知道如何向用户添加这些角色之一。你能帮我吗?
谢谢。
UserManager类有AddToRoleAsync()
_userManager.AddToRoleAsync(userModel.Id, "User");
我已经找到解决问题的方法了。
我添加了SBurris的代码(非常感谢!)
_userManager.AddToRoleAsync(userModel.Id, "User");
var result = await _userManager.CreateAsync(user, userModel.Password);
但这不是结束:您必须将添加的角色插入到数据库的表AspNetRole中。现在应用程序将启动并运行,没有任何错误。