public async Task Initialize() { string adminRoleName = "Administrator"; //TODO remove the EnsureDeleted, it's only for testing _context.Database.EnsureDeleted(); _context.Database.EnsureCreated(); if (_context.Roles.Any(itm => itm.Name == adminRoleName)) { return; } await _roleManager.CreateAsync(new IdentityRole(adminRoleName)); var adminRole = await _roleManager.FindByNameAsync(adminRoleName); string superClaim = String.Join(GeneralConstants.DelimeterDot, ClaimConstants.PolicyPrefix, ClaimConstants.ClaimValue_AllowAll); _claimService.AddOrUpdateClaim(new ClaimDTO { Type = ClaimConstants.PermissionClaimType, Value = superClaim }, "Startup", "0.0.0.0"); await _roleManager.AddClaimAsync(adminRole, new Claim(ClaimConstants.PermissionClaimType, superClaim)); string user = "******"; string password = "******"; await _userManager.CreateAsync(new ApplicationUser { UserName = user, Email = user, Nickname = "Administrator", EmailConfirmed = true }, password); await _userManager.AddToRoleAsync(_userManager.FindByNameAsync(user).GetAwaiter().GetResult(), adminRoleName); }