protected override void Seed(EFDbContext context) { base.Seed(context); const string fullName = "系统管理员"; var roleNames = new string[] { Admins, Users, CKUsers, CLUsers, STUsers, Managers }; using (var roleManager = ApplicationRoleManager.CreateForEF(context)) { if ((from item in roleNames let role = roleManager.FindByName(item) where role == null select new IdentityRole(item) into role select roleManager.Create(role)).Any(roleresult => !roleresult.Succeeded)) { throw new Exception("初始化系统失败!"); } } using (var userManager = ApplicationUserManager.CreateForEF(context)) { var user = userManager.FindByName(SaUserName); if (user == null) { user = new ApplicationUser { Id = SaUserId, UserName = SaUserName, EmailConfirmed = false, FullName = fullName, TwoFactorEnabled = true, }; userManager.Create(user, SaPassword); userManager.SetLockoutEnabled(user.Id, true); } var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(Admins)) { userManager.AddToRole(user.Id, Admins); } } }