使用数据库初始化程序时,我可以将角色和用户保存在我的开发数据库中,但密码永远不会起作用。我无法登录。
这是代码,它缺少什么?
public class DevelopmentDbInitializer : System.Data.Entity. DropCreateDatabaseIfModelChanges<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext context)
{
string password = "1_Changeme";
string administrator = "Administrator";
string adminEmail = "admin@office.com";
// Role
if (!context.Roles.Any(role => role.Name == Utils.Constants.ROLE_ADMINISTRATOR))
{
var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
var adminRole = new IdentityRole { Name = Utils.Constants.ROLE_ADMINISTRATOR };
roleManager.Create(adminRole);
}
// User
if (!context.Users.Any(user => user.UserName == administrator))
{
var userStore = new UserStore<ApplicationUser>(context);
var userManager = new UserManager<ApplicationUser>(userStore);
var adminUser = new ApplicationUser { Email = adminEmail, UserName = administrator, PhoneNumber = "7144251556" };
userManager.Create(adminUser, password);
userManager.AddToRole(adminUser.Id, Utils.Constants.ROLE_ADMINISTRATOR);
}
}
}
用户在数据库中,但有密码。我也使用带有哈希的变体,并且是同一个故事。此代码似乎适用于旧版本的Visual Studio和实体。
去年VS及其图书馆发生了什么变化?
提前致谢。
使用Visual Studio 2015.我认为它是Identity 2.0。代码来自stackoverflow的不同地方...