我正在使用ASP.NET Identify和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" });
所以现在我需要知道如何将这些角色之一添加到用户。你能救我吗?
感谢。
答案 0 :(得分:2)
UserManager类有AddToRoleAsync()
_userManager.AddToRoleAsync(userModel.Id, "User");
答案 1 :(得分:0)
我已经找到了解决问题的方法。
我添加了 SBurris 的代码(非常感谢!)
_userManager.AddToRoleAsync(userModel.Id, "User");
以下
var result = await _userManager.CreateAsync(user, userModel.Password);
但这不是结束:您必须将添加的角色插入到表 AspNetRole 中的数据库中。现在,应用程序将启动并正常运行。