Fixed errors on website loading
Fixed the errors that occurred on initial website load by moving the initial user creation in the DBContext and not in the ASP.NET project
This commit is contained in:
@@ -68,7 +68,6 @@ namespace API
|
||||
|
||||
app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
CreateUserRoles(serviceProvider).Wait();
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
endpoints.MapControllerRoute(
|
||||
@@ -77,43 +76,5 @@ namespace API
|
||||
endpoints.MapRazorPages();
|
||||
});
|
||||
}
|
||||
|
||||
private async System.Threading.Tasks.Task CreateUserRoles(IServiceProvider serviceProvider)
|
||||
{
|
||||
var RoleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
|
||||
var UserManager = serviceProvider.GetRequiredService<UserManager<User>>();
|
||||
string[] roleNames = { "Admin", "User"};
|
||||
IdentityResult roleResult;
|
||||
foreach (var roleName in roleNames)
|
||||
{
|
||||
var roleCheck = await RoleManager.RoleExistsAsync(roleName);
|
||||
if (!roleCheck)
|
||||
{
|
||||
roleResult = await RoleManager.CreateAsync(new IdentityRole(roleName));
|
||||
}
|
||||
}
|
||||
|
||||
var user = new User();
|
||||
user.UserName = "admin";
|
||||
user.Id = Guid.NewGuid().ToString();
|
||||
user.FirstName = "Admin";
|
||||
user.LastName = "Admin";
|
||||
user.PersonalNumber = "1234567890";
|
||||
user.PhoneNumber = "0888888888";
|
||||
user.Email = "admin@admin.admin";
|
||||
user.IsAdmin = true;
|
||||
string userPWD = "password";
|
||||
var _user = await UserManager.FindByNameAsync(user.UserName);
|
||||
if (_user == null)
|
||||
{
|
||||
IdentityResult chkUser = await UserManager.CreateAsync(user, userPWD);
|
||||
if (chkUser.Succeeded)
|
||||
{
|
||||
await UserManager.AddToRoleAsync(user, "Admin");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user