我在 MVC 应用程序中使用了 ASP.NET Identity 2.0 ,我希望通过向 UserId 表和 RoleId 添加2条记录,为首次登录系统的用户分配2个默认角色 . 对此有实用的方法吗?或者我是否必须使用 DBContext 和 Entity Framework 等添加这些默认角色(我使用 EF Code First )?任何帮助,将不胜感激 .
MVC
ASP.NET Identity 2.0
UserId
RoleId
DBContext
Entity Framework
EF Code First
您可以在AccountController,Register方法(具有HttpPost的方法)中进行检查,例如: if (!MyDbContext.Users.Any()) {...}
if (!MyDbContext.Users.Any()) {...}
如果没有用户,请将角色分配给新创建的用户: UserManager.AddToRoleAsync
UserManager.AddToRoleAsync
在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");
2 回答
您可以在AccountController,Register方法(具有HttpPost的方法)中进行检查,例如:
if (!MyDbContext.Users.Any()) {...}
如果没有用户,请将角色分配给新创建的用户:
UserManager.AddToRoleAsync
在Register post action中创建用户记录后
您可以添加角色