我在MVC
应用程序中使用ASP.NET Identity 2.0
,我想通过使用UserId
和RoleId
向AspNetUserRoles表中添加2条记录,为首次登录系统的用户分配2个默认角色。有切实可行的方法吗?或者我必须使用DBContext
和Entity Framework
等添加这些默认角色吗?(我使用EF Code First
)?如有任何帮助,我们将不胜感激。
在Register post-action 中创建用户记录后
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