public SiteManager( SiteSettings currentSite, ISiteCommands siteCommands, ISiteQueries siteQueries, IUserCommands userCommands, IUserQueries userQueries, SiteDataProtector dataProtector, IHttpContextAccessor contextAccessor, ILogger <SiteManager> logger, IOptions <MultiTenantOptions> multiTenantOptionsAccessor, IOptions <SiteConfigOptions> setupOptionsAccessor, CacheHelper cacheHelper ) { commands = siteCommands; queries = siteQueries; this.userCommands = userCommands; this.userQueries = userQueries; multiTenantOptions = multiTenantOptionsAccessor.Value; setupOptions = setupOptionsAccessor.Value; _context = contextAccessor?.HttpContext; this.dataProtector = dataProtector; log = logger; //resolver = siteResolver; siteSettings = currentSite; this.cacheHelper = cacheHelper; }
public SiteManager( SiteContext currentSite, SiteEvents siteEventHandlers, ISiteCommands siteCommands, ISiteQueries siteQueries, IUserCommands userCommands, IUserQueries userQueries, SiteDataProtector dataProtector, IHttpContextAccessor contextAccessor, ILogger <SiteManager> logger, IOptions <MultiTenantOptions> multiTenantOptionsAccessor, IOptions <SiteConfigOptions> setupOptionsAccessor, CacheHelper cacheHelper ) { _commands = siteCommands; _queries = siteQueries; _userCommands = userCommands; _userQueries = userQueries; _multiTenantOptions = multiTenantOptionsAccessor.Value; _setupOptions = setupOptionsAccessor.Value; _context = contextAccessor?.HttpContext; _dataProtector = dataProtector; _log = logger; //resolver = siteResolver; _currentSite = currentSite; _cacheHelper = cacheHelper; _eventHandlers = siteEventHandlers; }
public SiteSignInManager( SiteUserManager <TUser> siteUserManager, IHttpContextAccessor contextAccessor, IOptions <MultiTenantOptions> multiTenantOptionsAccessor, ISiteQueries siteQueries, IUserClaimsPrincipalFactory <TUser> claimsFactory, IOptions <IdentityOptions> optionsAccessor, ILogger <SignInManager <TUser> > logger) : base(siteUserManager, contextAccessor, claimsFactory, optionsAccessor, logger) { this.siteUserManager = siteUserManager; context = contextAccessor.HttpContext; this.logger = logger; multiTenantOptions = multiTenantOptionsAccessor.Value; if (siteQueries == null) { throw new ArgumentNullException(nameof(siteQueries)); } queries = siteQueries; this.options = optionsAccessor.Value; }
public SiteManager( SiteContext currentSite, ISiteCommands siteCommands, ISiteQueries siteQueries, IUserCommands userCommands, IUserQueries userQueries, SiteDataProtector dataProtector, IHttpContextAccessor contextAccessor, ILogger<SiteManager> logger, IOptions<MultiTenantOptions> multiTenantOptionsAccessor, IOptions<SiteConfigOptions> setupOptionsAccessor, CacheHelper cacheHelper ) { commands = siteCommands; queries = siteQueries; this.userCommands = userCommands; this.userQueries = userQueries; multiTenantOptions = multiTenantOptionsAccessor.Value; setupOptions = setupOptionsAccessor.Value; _context = contextAccessor?.HttpContext; this.dataProtector = dataProtector; log = logger; //resolver = siteResolver; siteSettings = currentSite; this.cacheHelper = cacheHelper; }
public SiteResolver( ISiteQueries siteRepository, SiteDataProtector dataProtector, IOptions <MultiTenantOptions> multiTenantOptions) { siteRepo = siteRepository; this.multiTenantOptions = multiTenantOptions.Value; this.dataProtector = dataProtector; }
public SiteContextResolver( ISiteQueries siteRepository, SiteDataProtector dataProtector, IOptions <MultiTenantOptions> multiTenantOptions ) { SiteQueries = siteRepository; MultiTenantOptions = multiTenantOptions.Value; DataProtector = dataProtector; }
public CachingSiteContextResolver( IMemoryCache cache, ISiteQueries siteRepository, SiteDataProtector dataProtector, IOptions <MultiTenantOptions> multiTenantOptions, ILogger <CachingSiteContextResolver> logger, IOptions <CachingSiteResolverOptions> cachingOptionsAccessor ) : base(siteRepository, dataProtector, multiTenantOptions) { _cache = cache; _cachingOptions = cachingOptionsAccessor.Value; _log = logger; }
public CachingSiteResolver( IMemoryCache cache, ILoggerFactory loggerFactory, ISiteQueries siteRepository, SiteDataProtector dataProtector, IOptions<MultiTenantOptions> multiTenantOptions, IOptions<CachingSiteResolverOptions> cachingOptionsAccessor ) : base(cache, loggerFactory) { siteRepo = siteRepository; this.multiTenantOptions = multiTenantOptions.Value; this.dataProtector = dataProtector; cachingOptions = cachingOptionsAccessor.Value; }
public CachingSiteResolver( ISiteContextResolver siteContextResolver, IMemoryCache cache, ILoggerFactory loggerFactory, ISiteQueries siteRepository, IOptions <MultiTenantOptions> multiTenantOptions, IOptions <CachingSiteResolverOptions> cachingOptionsAccessor ) : base(cache, loggerFactory) { _siteContextResolver = siteContextResolver; _siteQueries = siteRepository; _multiTenantOptions = multiTenantOptions.Value; _cachingOptions = cachingOptionsAccessor.Value; }
public SiteUserClaimsPrincipalFactory( ISiteQueries siteQueries, SiteUserManager <TUser> userManager, SiteRoleManager <TRole> roleManager, IOptions <IdentityOptions> optionsAccessor) : base(userManager, roleManager, optionsAccessor) { if (siteQueries == null) { throw new ArgumentNullException(nameof(siteQueries)); } queries = siteQueries; options = optionsAccessor.Value; }
public SiteUserClaimsPrincipalFactory( ISiteQueries siteQueries, SiteUserManager <TUser> userManager, SiteRoleManager <TRole> roleManager, IOptions <IdentityOptions> optionsAccessor, IEnumerable <ICustomClaimProvider> customClaimProviders ) : base(userManager, roleManager, optionsAccessor) { if (siteQueries == null) { throw new ArgumentNullException(nameof(siteQueries)); } queries = siteQueries; options = optionsAccessor.Value; this.customClaimProviders = customClaimProviders; }
public SiteUserClaimsPrincipalFactory( ISiteQueries siteQueries, SiteUserManager <TUser> userManager, SiteRoleManager <TRole> roleManager, IOptions <IdentityOptions> optionsAccessor, IEnumerable <ICustomClaimProvider> customClaimProviders // an extension point if you need to be able to add custom claims you can inject one or more of these ) : base(userManager, roleManager, optionsAccessor) { if (siteQueries == null) { throw new ArgumentNullException(nameof(siteQueries)); } queries = siteQueries; options = optionsAccessor.Value; this.customClaimProviders = customClaimProviders; }
private static async Task EnsureData( ISiteQueries siteQueries, ISiteCommands siteCommands, IUserQueries userQueries, IUserCommands userCommands, IGeoQueries geoQueries, IGeoCommands geoCommands, IBasicQueries<SiteRole> roleQueries, IBasicQueries<SiteUser> userBasic ) { int count = await geoQueries.GetCountryCount(); if (count == 0) { foreach (GeoCountry c in InitialData.BuildCountryList()) { await geoCommands.Add(c); } foreach (GeoZone c in InitialData.BuildStateList()) { await geoCommands.Add(c); } } count = await siteQueries.GetCount(); SiteSettings newSite = null; Guid siteId = Guid.Empty; if (count == 0) { // create first site newSite = InitialData.BuildInitialSite(); await siteCommands.Create(newSite); siteId = newSite.Id; } else if(count == 1) { var allSites = await siteQueries.GetList().ConfigureAwait(false); var site = allSites[0]; if (site != null) siteId = site.Id; } else { return; } // ensure roles //var projectId = await projectResolver.ResolveProjectId(); var projectId = siteId.ToString(); ; count = await roleQueries.GetCountAsync(projectId); if (count == 0) { var adminRole = InitialData.BuildAdminRole(); adminRole.SiteId = siteId; await userCommands.CreateRole(adminRole); var roleAdminRole = InitialData.BuildRoleAdminRole(); roleAdminRole.SiteId = siteId; await userCommands.CreateRole(roleAdminRole); var contentAdminRole = InitialData.BuildContentAdminsRole(); contentAdminRole.SiteId = siteId; await userCommands.CreateRole(contentAdminRole); var authenticatedUserRole = InitialData.BuildAuthenticatedRole(); authenticatedUserRole.SiteId = siteId; await userCommands.CreateRole(authenticatedUserRole); } // ensure admin user count = await userBasic.GetCountAsync(projectId); if (count == 0) { var role = await userQueries.FetchRole(newSite.Id, "Administrators"); if (role != null) { var adminUser = InitialData.BuildInitialAdmin(); adminUser.SiteId = siteId; await userCommands.Create(adminUser); await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); role = await userQueries.FetchRole(siteId, "Authenticated Users"); if (role != null) { await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); } } } }
private static async Task EnsureData( ISiteQueries siteQueries, ISiteCommands siteCommands, IUserQueries userQueries, IUserCommands userCommands, IGeoQueries geoQueries, IGeoCommands geoCommands, IBasicQueries <SiteRole> roleQueries, IBasicQueries <SiteUser> userBasic, IProjectResolver projectResolver ) { int count = await geoQueries.GetCountryCount(); if (count == 0) { foreach (GeoCountry c in InitialData.BuildCountryList()) { await geoCommands.Add(c); } foreach (GeoZone c in InitialData.BuildStateList()) { await geoCommands.Add(c); } } //count = await geoQueries.GetLanguageCount(); //if (count == 0) //{ // foreach (Language c in InitialData.BuildLanguageList()) // { // await geoCommands.Add(c); // } //} var all = await geoQueries.GetAllCurrencies(); count = all.Count; if (count == 0) { foreach (Currency c in InitialData.BuildCurrencyList()) { await geoCommands.Add(c); } } count = await siteQueries.GetCount(); SiteSettings newSite = null; if (count == 0) { // create first site newSite = InitialData.BuildInitialSite(); await siteCommands.Create(newSite); } // ensure roles var projectId = await projectResolver.ResolveProjectId(); count = await roleQueries.GetCountAsync(projectId); if (count == 0) { var adminRole = InitialData.BuildAdminRole(); adminRole.SiteId = newSite.Id; await userCommands.CreateRole(adminRole); var roleAdminRole = InitialData.BuildRoleAdminRole(); roleAdminRole.SiteId = newSite.Id; await userCommands.CreateRole(roleAdminRole); var contentAdminRole = InitialData.BuildContentAdminsRole(); contentAdminRole.SiteId = newSite.Id; await userCommands.CreateRole(contentAdminRole); var authenticatedUserRole = InitialData.BuildAuthenticatedRole(); authenticatedUserRole.SiteId = newSite.Id; await userCommands.CreateRole(authenticatedUserRole); } // ensure admin user count = await userBasic.GetCountAsync(projectId); if (count == 0) { var role = await userQueries.FetchRole(newSite.Id, "Administrators"); if (role != null) { var adminUser = InitialData.BuildInitialAdmin(); adminUser.SiteId = newSite.Id; await userCommands.Create(adminUser); await userCommands.AddUserToRole(role.Id, adminUser.Id); role = await userQueries.FetchRole(newSite.Id, "Authenticated Users"); if (role != null) { await userCommands.AddUserToRole(role.Id, adminUser.Id); } } } }
private static async Task EnsureData( ISiteQueries siteQueries, ISiteCommands siteCommands, IUserQueries userQueries, IUserCommands userCommands, IGeoQueries geoQueries, IGeoCommands geoCommands, IBasicQueries <SiteRole> roleQueries, IBasicQueries <SiteUser> userBasic ) { int count = await geoQueries.GetCountryCount(); if (count == 0) { foreach (GeoCountry c in InitialData.BuildCountryList()) { await geoCommands.Add(c); } foreach (GeoZone c in InitialData.BuildStateList()) { await geoCommands.Add(c); } } count = await siteQueries.GetCount(); SiteSettings newSite = null; Guid siteId = Guid.Empty; if (count == 0) { // create first site newSite = InitialData.BuildInitialSite(); await siteCommands.Create(newSite); siteId = newSite.Id; } else if (count == 1) { var allSites = await siteQueries.GetList().ConfigureAwait(false); var site = allSites[0]; if (site != null) { siteId = site.Id; } } else { return; } // ensure roles //var projectId = await projectResolver.ResolveProjectId(); var projectId = siteId.ToString();; count = await roleQueries.GetCountAsync(projectId); if (count == 0) { var adminRole = InitialData.BuildAdminRole(); adminRole.SiteId = siteId; await userCommands.CreateRole(adminRole); var roleAdminRole = InitialData.BuildRoleAdminRole(); roleAdminRole.SiteId = siteId; await userCommands.CreateRole(roleAdminRole); var contentAdminRole = InitialData.BuildContentAdminsRole(); contentAdminRole.SiteId = siteId; await userCommands.CreateRole(contentAdminRole); var authenticatedUserRole = InitialData.BuildAuthenticatedRole(); authenticatedUserRole.SiteId = siteId; await userCommands.CreateRole(authenticatedUserRole); } // ensure admin user count = await userBasic.GetCountAsync(projectId); if (count == 0) { var role = await userQueries.FetchRole(newSite.Id, "Administrators"); if (role != null) { var adminUser = InitialData.BuildInitialAdmin(); adminUser.SiteId = siteId; adminUser.CanAutoLockout = false; await userCommands.Create(adminUser); await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); role = await userQueries.FetchRole(siteId, "Authenticated Users"); if (role != null) { await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); } } } }