in UnicornStore/Data/DbInitializer.cs [78:115]
private static async Task CreateAdminUser(IServiceProvider serviceProvider, IConfiguration configuration)
{
var defaultAdminPassword = configuration["DefaultAdminPassword"];
var defaultAdminUserName = configuration["DefaultAdminUserName"];
var userManager = serviceProvider.GetService<UserManager<ApplicationUser>>();
// TODO: Identity SQL does not support roles yet
//var roleManager = serviceProvider.GetService<ApplicationRoleManager>();
//if (!await roleManager.RoleExistsAsync(adminRole))
//{
// await roleManager.CreateAsync(new IdentityRole(adminRole));
//}
var user = await userManager.FindByNameAsync(defaultAdminUserName);
if (user == null)
{
user = new ApplicationUser { UserName = defaultAdminUserName };
await userManager.CreateAsync(user, defaultAdminPassword);
//await userManager.AddToRoleAsync(user, adminRole);
await userManager.AddClaimAsync(user, new Claim("ManageStore", "Allowed"));
}
//NOTE: For end to end testing only
var envPerfLab = configuration["PERF_LAB"];
if (envPerfLab == "true")
{
for (int i = 0; i < 100; ++i)
{
var email = string.Format("User{0:D3}@example.com", i);
var normalUser = await userManager.FindByEmailAsync(email);
if (normalUser == null)
{
await userManager.CreateAsync(new ApplicationUser { UserName = email, Email = email }, "Password~!1");
}
}
}
}