【发布时间】:2016-05-05 06:29:16
【问题描述】:
我正在为一个已经运行了几个月的项目制定新要求。我正在使用带有 Asp.net Identity 的 Code First (EF6)。我需要在种子方法中添加一个新的用户角色并将这个角色附加到管理员。 如何在种子中向管理员添加新角色? 下面是我的种子方法的代码sn-p。
protected override void Seed(myDbContext context)
{
if (!context.Roles.Any())
{
var userManager =
new UserManager<AppUser, Guid>(
new UserStore<AppUser, AppRole, Guid, AppUserLogin, AppUserRole, AppUserClaim>(context));
var roleManager = new RoleManager<AppRole, Guid>(new RoleStore<AppRole, Guid, AppUserRole>(context));
var adminRole = new AppRole() {Name = "admin"};
roleManager.Create(adminRole);
var admin = new Admin()
{
UserName = "test@test.com",
EmailConfirmed = true,
SecurityStamp = Guid.NewGuid().ToString()
};
admin.Roles.Add(new AppUserRole()
{
RoleId = adminRole.Id
});
userManager.Create(admin, "pwd");
// user.Roles.Add(new IdentityUserRole { RoleId = userRole.Id, UserId = user.Id });
base.Seed(context);
}
}
【问题讨论】:
标签: ef-code-first asp.net-identity-2