/// <summary> /// Configures the kastra options. /// </summary> /// <param name="services">Services.</param> public static async Task ConfigureKastraOptions(this IServiceCollection services) { // Get site configuration using ServiceProvider serviceProvider = services.BuildServiceProvider(); IParameterManager parameterManager = serviceProvider.GetService <IParameterManager>(); SiteConfigurationInfo siteConfiguration = await parameterManager.GetSiteConfigurationAsync(); // Set configuration in identity options services.Configure <IdentityOptions>(options => { options.SignIn.RequireConfirmedEmail = siteConfiguration.RequireConfirmedEmail; options.User.RequireUniqueEmail = siteConfiguration.UserRequireUniqueEmail; options.User.AllowedUserNameCharacters = siteConfiguration.UserAllowedUserNameCharacters; options.Password.RequireDigit = siteConfiguration.PasswordRequireDigit; options.Password.RequiredLength = siteConfiguration.PasswordRequiredLength; options.Password.RequireLowercase = siteConfiguration.PasswordRequireLowercase; options.Password.RequireNonAlphanumeric = siteConfiguration.PasswordRequireNonAlphanumeric; options.Password.RequireUppercase = siteConfiguration.PasswordRequireUppercase; options.Password.RequiredUniqueChars = siteConfiguration.PasswordRequiredUniqueChars; }); // Set cookie configuration services.Configure <CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => siteConfiguration.CheckConsentNeeded; options.MinimumSameSitePolicy = SameSiteMode.None; }); }
public async Task <IActionResult> Index(string pageKeyName, int moduleId, string moduleControl, string moduleAction) { if (string.IsNullOrEmpty(pageKeyName)) { return(RedirectToAction("Index", "Home")); } PageInfo page = await _viewManager.GetPageByKeyAsync(pageKeyName, true); if (page is null) { return(NotFound()); } TemplateInfo template = page.PageTemplate; //Get site parameters SiteConfigurationInfo siteConfiguration = await _parameterManager.GetSiteConfigurationAsync(); // Set page title ViewBag.Title = string.IsNullOrEmpty(page.Title) ? siteConfiguration.Title : page.Title; // Set theme ViewBag.Theme = siteConfiguration.Theme ?? SiteConfiguration.DefaultTheme; // Set page SEO ViewBag.MetaDescription = string.IsNullOrEmpty(page.MetaDescription) ? siteConfiguration.Description : page.MetaDescription; ViewBag.MetaKeywords = page.MetaKeywords; ViewBag.MetaRobot = page.MetaRobot; ViewEngine viewEngine = new ViewEngine(page, _cacheEngine); // Create template model object model = viewEngine.CreateView(moduleControl, moduleId, moduleAction); // Home page style if (pageKeyName.ToLower() == "home") { ViewBag.IsHome = true; } return(View(template.KeyName, model)); }
public EmailSender(IParameterManager parameterManager) { // Get site configuration _siteConfiguration = parameterManager.GetSiteConfigurationAsync().Result; // Set smtp client _smtpClient = new SmtpClient { Host = !String.IsNullOrEmpty(_siteConfiguration.SmtpHost) ? _siteConfiguration.SmtpHost : "localhost", Port = _siteConfiguration.SmtpPort > 0 ? _siteConfiguration.SmtpPort : 587, EnableSsl = _siteConfiguration.SmtpEnableSsl }; if (!String.IsNullOrEmpty(_siteConfiguration.SmtpCredentialsUser)) { _smtpClient.Credentials = new NetworkCredential(_siteConfiguration.SmtpCredentialsUser, _siteConfiguration.SmtpCredentialsPassword); } }