添加用户角色并将其与用户进行映射

本文关键字:用户 映射 角色 添加 | 更新日期: 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中。现在应用程序将启动并运行,没有任何错误。