I have been playing about with the new MVC 5, I have a few models, controller and views setup using code first migrations.
My question is how do I seed users and ro
This is my method base on Valin answer, I have added roles in db and added password for user. This code is placed in Seed()
method in Migrations>Configurations.cs.
// role (Const.getRoles() return string[] whit all roles)
var RoleManager = new RoleManager(new RoleStore(context));
for (int i = 0; i < Const.getRoles().Length; i++)
{
if (RoleManager.RoleExists(Const.getRoles()[i]) == false)
{
RoleManager.Create(new IdentityRole(Const.getRoles()[i]));
}
}
// user
var UserManager = new UserManager(new UserStore(context));
var PasswordHash = new PasswordHasher();
if (!context.Users.Any(u => u.UserName == "admin@admin.net"))
{
var user = new ApplicationUser
{
UserName = "admin@admin.net",
Email = "admin@admin.net",
PasswordHash = PasswordHash.HashPassword("123456")
};
UserManager.Create(user);
UserManager.AddToRole(user.Id, Const.getRoles()[0]);
}