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

Add user roles and map these with users

我正在使用 ASP.NET Identify and 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 class 有 AddToRoleAsync()

_userManager.AddToRoleAsync(userModel.Id, "User");

我找到了解决问题的方法。

我添加了SBurris的代码(非常感谢!)

_userManager.AddToRoleAsync(userModel.Id, "User");

线下

var result = await _userManager.CreateAsync(user, userModel.Password);

但这还没有结束:您必须将添加的角色插入数据库 table AspNetRole。现在应用程序将启动并运行,不会出现任何错误。