// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddCorrelationId(); services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <ApplicationUser, ApplicationRole>(options => { options.Stores.MaxLengthForKeys = 128; options.SignIn.RequireConfirmedEmail = true; options.User.RequireUniqueEmail = true; }) .AddEntityFrameworkStores <ApplicationDbContext>() .AddUserManager <AppUserManager>() .AddDefaultUI(UIFramework.Bootstrap4) .AddDefaultTokenProviders(); services.Configure <AppSetupOptions>(Configuration.GetSection("AppSetupOptions")); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.Configure <EmailConfiguration>(Configuration.GetSection("EmailConfiguration")); services.AddScoped <IAuthorizationHandler, PermissionAuthorizationHandler>(); services.AddSingleton <IAuthorizationPolicyProvider, PermissionPolicyProvider>(); services.AddTransient <IEmailService, EmailService>(); services.AddTransient <IAppUserManager, AppUserManager>(); PermissionsSeeder.Initialize(services); }
public async Task TestSeedPermissions() { var seeder = new PermissionsSeeder(_roleManager); await seeder.RegisterPermissions(typeof(PermissionsTest)).SeedAsync(); var roles = _roleManager.Roles.ToList(); var claims = await _roleManager.GetClaimsAsync(roles[0]); Assert.True(roles.Count == 1); Assert.True(claims.Count == 2); Assert.Equal("1", claims[0].Value); Assert.Equal("2", claims[1].Value); }
public static void InitialiseUsersAndRoles() { UsersAndRolesInitialiser.Seed(); PermissionsSeeder.Seed(new LocalDb()); }