将角色添加到ASP.NET标识中的AspNetUserRoles表

将角色添加到ASP.NET标识中的AspNetUserRoles表,asp.net,asp.net-mvc,entity-framework,asp.net-identity,asp.net-identity-2,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Identity,Asp.net Identity 2,我在我的MVC应用程序中使用ASP.NET Identity 2.0,我想通过向UserId和RoleId的AspNetUserRoles表中添加2条记录,为首次登录系统的用户分配2个默认角色。有没有切实可行的办法?或者我必须使用DBContext和Entity Framework等添加这些默认角色(我首先使用EF-code)?任何帮助都将不胜感激 在Register post操作中创建用户记录后 var user = new ApplicationUser { UserName = model

我在我的
MVC
应用程序中使用
ASP.NET Identity 2.0
,我想通过向
UserId
RoleId
AspNetUserRoles表中添加2条记录,为首次登录系统的用户分配2个默认角色。有没有切实可行的办法?或者我必须使用
DBContext
Entity Framework
等添加这些默认角色(我首先使用
EF-code
)?任何帮助都将不胜感激

在Register post操作中创建用户记录后

var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
您可以添加角色

await UserManager.AddToRoleAsync(user.Id, "role1");
await UserManager.AddToRoleAsync(user.Id, "role2");

您可以在AccountController、Register方法(带有HttpPost的方法)中执行检查,类似于:
if(!MyDbContext.Users.Any()){…}


如果没有用户,请使用以下命令为新创建的用户分配角色:
UserManager.AddToRoleAsync

非常感谢您的回复。可以分配OLE,但我无法使用代码的第一部分在AspNetUsers表中创建新用户。请看一下好吗?另一方面,我还需要将这些新角色添加到AspNetUserRoles表中,但我不确定您的代码是否也可以执行此操作。@二进制前两行代码来自默认的mvc5模板,这就是如何在数据库中插入新的ApplicationUser/IdentityUser。其他两行代码使用asp.net-identity将用户分配给这些角色。在AspNetUserRoles内的数据库中,您将看到两个新条目{userId和role1Id}和{userId和role2Id}