diff --git a/src/isnd/Controllers/AccountController.cs b/src/isnd/Controllers/AccountController.cs index ac7d908..9774f30 100644 --- a/src/isnd/Controllers/AccountController.cs +++ b/src/isnd/Controllers/AccountController.cs @@ -29,14 +29,22 @@ namespace isnd.Controllers IAuthenticationSchemeProvider schemeProvider, SignInManager signInManager, UserManager userManager, - IOptions startupAdminListConfig ) + IOptions startupAdminListConfig, + RoleManager roleManager + ) { _schemeProvider = schemeProvider; _signInManager = signInManager; _userManager = userManager; _startupAdminList = startupAdminListConfig.Value; + var roles = roleManager.Roles.ToList(); + if (!roles.Any(r => r.Name == IsndConstants.AdministratorRoleName)) + { + var role = new IdentityRole(IsndConstants.AdministratorRoleName); + roleManager.CreateAsync(role).GetAwaiter().GetResult(); + } } - + /// /// Entry point into the login workflow /// diff --git a/src/isnd/Startup.cs b/src/isnd/Startup.cs index 9ef1a52..2238cf1 100644 --- a/src/isnd/Startup.cs +++ b/src/isnd/Startup.cs @@ -53,7 +53,7 @@ namespace isnd { var smtpSettingsconf = Configuration.GetSection("Smtp"); var isndSettingsconf = Configuration.GetSection("Isn"); - var adminStartupListConf = Configuration.GetSection("AdminList"); + var adminStartupListConf = Configuration.GetSection("AdminStartupList"); services.Configure(options => {