public SetupController(ISetupProvider setupProvider, IUserSecurityStampStore <ApplicationUser> userSecurityStampStore, IPasswordHasher <ApplicationUser> passwordHasher, IUserManager <ApplicationUser> userManager, IDataSeedService dataSeedService, ILoginManager <ApplicationUser> loginManager) { _setupProvider = setupProvider; _userSecurityStampStore = userSecurityStampStore; _passwordHasher = passwordHasher; _userManager = userManager; _loginManager = loginManager; _dataSeedService = dataSeedService; }
public async Task Invoke(HttpContext context, ISetupProvider installProvider) { if (!installProvider.HasInitializedSetup()) { await _next(context); return; } var currentUrl = context.Request.Path.ToString(); // check the database is installed if (!installProvider.HasDatabaseSetup()) { //redirect var installUrl = SetupSettingsConst.StartSetupUrl; if (!currentUrl.StartsWith(installUrl, StringComparison.InvariantCultureIgnoreCase)) { context.Response.Redirect(installUrl); } await _next(context); return; } if (!installProvider.HasDataSeeded()) { //redirect var seedDataUrl = SetupSettingsConst.SeedDataUrl; if (!currentUrl.StartsWith(seedDataUrl, StringComparison.InvariantCultureIgnoreCase)) { context.Response.Redirect(seedDataUrl); } await _next(context); return; } await _next(context); }
/// <summary> /// Initializes a new instance of the <see cref="SetupDiscoverer" /> class. /// </summary> /// <param name="setupFileFinder">The setup file finder.</param> /// <param name="setupProvider">The setup provider.</param> public SetupDiscoverer(ISetupFileFinder setupFileFinder, ISetupProvider setupProvider) { this.setupFileFinder = setupFileFinder; this.setupProvider = setupProvider; }