public static void LoadDefaultSettings(string settingPath) { SettingManager settingManager = new SettingManager(); if (!string.IsNullOrWhiteSpace(settingPath)) { settingManager.SettingPath = settingPath; } var listSettingInfo = settingManager.GetSettings(); if (listSettingInfo != null) { YearFormat = listSettingInfo.Where(d => d.Name == Constant.YearFormat).Select(d => d.Value).FirstOrDefault(); MonthFormat = listSettingInfo.Where(d => d.Name == Constant.MonthFormat).Select(d => d.Value).FirstOrDefault(); DateFormat = listSettingInfo.Where(d => d.Name == Constant.DateFormat).Select(d => d.Value).FirstOrDefault(); DecimalFormat = listSettingInfo.Where(d => d.Name == Constant.DecimalFormat).Select(d => d.Value).FirstOrDefault(); IntegerFormat = listSettingInfo.Where(d => d.Name == Constant.IntegerFormat).Select(d => d.Value).FirstOrDefault(); ShortTimeFormat = listSettingInfo.Where(d => d.Name == Constant.ShortTimeFormat).Select(d => d.Value).FirstOrDefault(); LongTimeFormat = listSettingInfo.Where(d => d.Name == Constant.LongTimeFormat).Select(d => d.Value).FirstOrDefault(); DateTimeFormat = listSettingInfo.Where(d => d.Name == Constant.DateTimeFormat).Select(d => d.Value).FirstOrDefault(); string languages = listSettingInfo.Where(d => d.Name == Constant.Languages).Select(d => d.Value).FirstOrDefault(); Languages = languages.GetString().Split(',').Select(d => d.Trim()).Distinct().ToArray(); } }
public virtual string EncryptText(string plainText, string encryptionPrivateKey = "") { if (string.IsNullOrEmpty(plainText)) { return(plainText); } if (String.IsNullOrEmpty(encryptionPrivateKey)) { encryptionPrivateKey = SettingManager.GetSettingValue("EncryptionKey"); } var tDESalg = new TripleDESCryptoServiceProvider(); tDESalg.Key = new ASCIIEncoding().GetBytes(encryptionPrivateKey.Substring(0, 16)); tDESalg.IV = new ASCIIEncoding().GetBytes(encryptionPrivateKey.Substring(8, 8)); byte[] encryptedBinary = EncryptTextToMemory(plainText, tDESalg.Key, tDESalg.IV); return(Convert.ToBase64String(encryptedBinary)); }
private async Task UpdateEmailSettingsAsync(EmailSettingsEditDto settings) { await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.DefaultFromAddress, settings.DefaultFromAddress); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.DefaultFromDisplayName, settings.DefaultFromDisplayName); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.Smtp.Host, settings.SmtpHost); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.Smtp.Port, settings.SmtpPort.ToString(CultureInfo.InvariantCulture)); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.Smtp.UserName, settings.SmtpUserName); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.Smtp.Password, SimpleStringCipher.Instance.Encrypt(settings.SmtpPassword)); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.Smtp.Domain, settings.SmtpDomain); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.Smtp.EnableSsl, settings.SmtpEnableSsl.ToString().ToLowerInvariant()); await SettingManager.ChangeSettingForApplicationAsync(EmailSettingNames.Smtp.UseDefaultCredentials, settings.SmtpUseDefaultCredentials.ToString().ToLowerInvariant()); }
public async Task <RegisterOutput> Register(RegisterInput input) { var user = await _userRegistrationManager.RegisterAsync( input.Name, input.Surname, input.EmailAddress, input.UserName, input.Password, true // Assumed email address is always confirmed. Change this if you want to implement email confirmation. ); var isEmailConfirmationRequiredForLogin = await SettingManager.GetSettingValueAsync <bool>(AbpZeroSettingNames.UserManagement .IsEmailConfirmationRequiredForLogin); return(new RegisterOutput { CanLogin = user.IsActive && (user.IsEmailConfirmed || !isEmailConfirmationRequiredForLogin) }); }
public virtual async Task <ActionResult> ResetPassword(ResetPasswordViewModel model) { var tenantId = model.TenantId.IsNullOrEmpty() ? (int?)null : SimpleStringCipher.Instance.Decrypt(model.TenantId).To <int>(); var userId = SimpleStringCipher.Instance.Decrypt(model.UserId).To <long>(); _unitOfWorkManager.Current.SetTenantId(tenantId); var user = await _userManager.GetUserByIdAsync(userId); if (user == null || user.PasswordResetCode.IsNullOrEmpty() || user.PasswordResetCode != model.ResetCode) { throw new UserFriendlyException(L("InvalidPasswordResetCode"), L("InvalidPasswordResetCode_Detail")); } var setting = await SettingManager.GetSettingValueForUserAsync(AppSettings.Security.PasswordComplexity, tenantId, userId); model.PasswordComplexitySetting = JsonConvert.DeserializeObject <PasswordComplexitySetting>(setting); return(View(model)); }
private async Task UpdateSecuritySettingsAsync(SecuritySettingsEditDto settings) { if (settings.UseDefaultPasswordComplexitySettings) { await SettingManager.ChangeSettingForApplicationAsync( AppSettings.Security.PasswordComplexity, settings.DefaultPasswordComplexity.ToJsonString() ); } else { await SettingManager.ChangeSettingForApplicationAsync( AppSettings.Security.PasswordComplexity, settings.PasswordComplexity.ToJsonString() ); } await UpdateUserLockOutSettingsAsync(settings.UserLockOut); await UpdateTwoFactorLoginSettingsAsync(settings.TwoFactorLogin); }
private async Task UpdateTwoFactorLoginSettingsAsync(TwoFactorLoginSettingsEditDto settings) { if (_multiTenancyConfig.IsEnabled && !await IsTwoFactorLoginEnabledForApplicationAsync()) //Two factor login can not be used by tenants if disabled by the host { return; } await SettingManager.ChangeSettingForTenantAsync(AbpSession.GetTenantId(), AbpZeroSettingNames.UserManagement.TwoFactorLogin.IsEnabled, settings.IsEnabled.ToString(CultureInfo.InvariantCulture).ToLower()); await SettingManager.ChangeSettingForTenantAsync(AbpSession.GetTenantId(), AbpZeroSettingNames.UserManagement.TwoFactorLogin.IsRememberBrowserEnabled, settings.IsRememberBrowserEnabled.ToString(CultureInfo.InvariantCulture).ToLower()); if (!_multiTenancyConfig.IsEnabled) { //These settings can only be changed by host, in a multitenant application. await SettingManager.ChangeSettingForTenantAsync(AbpSession.GetTenantId(), AbpZeroSettingNames.UserManagement.TwoFactorLogin.IsEmailProviderEnabled, settings.IsEmailProviderEnabled.ToString(CultureInfo.InvariantCulture).ToLower()); await SettingManager.ChangeSettingForTenantAsync(AbpSession.GetTenantId(), AbpZeroSettingNames.UserManagement.TwoFactorLogin.IsSmsProviderEnabled, settings.IsSmsProviderEnabled.ToString(CultureInfo.InvariantCulture).ToLower()); } }
public async Task UpdateTenantUiManagementSettingsAsync(int tenantId, ThemeSettingsDto settings) { await SettingManager.ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.Theme, settings.Theme); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.Header.DesktopFixedHeader, settings.Header.DesktopFixedHeader.ToString()); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.Header.MobileFixedHeader, settings.Header.MobileFixedHeader.ToString()); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.Header.Skin, settings.Header.HeaderSkin); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.SubHeader.Fixed, settings.SubHeader.FixedSubHeader.ToString()); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.SubHeader.Style, settings.SubHeader.SubheaderStyle); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.LeftAside.AsideSkin, settings.Menu.AsideSkin); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.LeftAside.FixedAside, settings.Menu.FixedAside.ToString()); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.LeftAside.AllowAsideMinimizing, settings.Menu.AllowAsideMinimizing.ToString()); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.LeftAside.DefaultMinimizedAside, settings.Menu.DefaultMinimizedAside.ToString()); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.LeftAside.SubmenuToggle, settings.Menu.SubmenuToggle); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.SearchActive, settings.Menu.SearchActive.ToString()); await ChangeSettingForTenantAsync(tenantId, AppSettings.UiManagement.Footer.FixedFooter, settings.Footer.FixedFooter.ToString()); }
/// <summary> /// /// </summary> /// <returns></returns> public async Task <CurrentUserProfileEditDto> GetCurrentUserProfileForEdit() { var user = await GetCurrentUserAsync(); var userProfileEditDto = user.MapTo <CurrentUserProfileEditDto>(); if (Clock.SupportsMultipleTimezone) { userProfileEditDto.Timezone = await SettingManager.GetSettingValueAsync(TimingSettingNames.TimeZone); var defaultTimeZoneId = await _timeZoneService.GetDefaultTimezoneAsync(SettingScopes.User, AbpSession.TenantId); if (userProfileEditDto.Timezone == defaultTimeZoneId) { userProfileEditDto.Timezone = string.Empty; } } return(userProfileEditDto); }
public async Task <ActionResult> Index() { var output = await _tenantSettingsAppService.GetAllSettings(); ViewBag.IsMultiTenancyEnabled = _multiTenancyConfig.IsEnabled; var timezoneItems = await _timingAppService.GetTimezoneComboboxItems(new GetTimezoneComboboxItemsInput { DefaultTimezoneScope = SettingScopes.Tenant, SelectedTimezoneId = await SettingManager.GetSettingValueForTenantAsync(TimingSettingNames.TimeZone, AbpSession.GetTenantId()) }); var model = new SettingsViewModel { Settings = output, TimezoneItems = timezoneItems }; return(View(model)); }
public virtual string DecryptText(string cipherText, string encryptionPrivateKey = "") { if (String.IsNullOrEmpty(cipherText)) { return(cipherText); } if (String.IsNullOrEmpty(encryptionPrivateKey)) { encryptionPrivateKey = SettingManager.GetSettingValue("EncryptionKey"); } var tDESalg = new TripleDESCryptoServiceProvider(); tDESalg.Key = new ASCIIEncoding().GetBytes(encryptionPrivateKey.Substring(0, 16)); tDESalg.IV = new ASCIIEncoding().GetBytes(encryptionPrivateKey.Substring(8, 8)); byte[] buffer = Convert.FromBase64String(cipherText); return(DecryptTextFromMemory(buffer, tDESalg.Key, tDESalg.IV)); }
public async Task <GetNotificationSettingsOutput> GetNotificationSettings() { var output = new GetNotificationSettingsOutput(); output.ReceiveNotifications = await SettingManager.GetSettingValueAsync <bool>(NotificationSettingNames.ReceiveNotifications); //Get general notifications, not entity related notifications. var notificationDefinitions = (await _notificationDefinitionManager.GetAllAvailableAsync(AbpSession.ToUserIdentifier())).Where(nd => nd.EntityType == null); output.Notifications = ObjectMapper.Map <List <NotificationSubscriptionWithDisplayNameDto> >(notificationDefinitions); var subscribedNotifications = (await _notificationSubscriptionManager .GetSubscribedNotificationsAsync(AbpSession.ToUserIdentifier())) .Select(ns => ns.NotificationName) .ToList(); output.Notifications.ForEach(n => n.IsSubscribed = subscribedNotifications.Contains(n.Name)); return(output); }
private async Task UpdateUserManagementSessionTimeOutSettingsAsync(SessionTimeOutSettingsEditDto settings) { await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.SessionTimeOut.IsEnabled, settings.IsEnabled.ToString().ToLowerInvariant() ); await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.SessionTimeOut.TimeOutSecond, settings.TimeOutSecond.ToString() ); await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.SessionTimeOut.ShowTimeOutNotificationSecond, settings.ShowTimeOutNotificationSecond.ToString() ); }
public PartialViewResult Header(string currentPageName = "") { var headerModel = new HeaderViewModel(); if (AbpSession.UserId.HasValue) { headerModel.LoginInformations = AsyncHelper.RunSync(() => _sessionCache.GetCurrentLoginInformationsAsync()); } headerModel.Languages = _languageManager.GetLanguages(); headerModel.CurrentLanguage = _languageManager.CurrentLanguage; headerModel.Menu = AsyncHelper.RunSync(() => _userNavigationManager.GetMenuAsync(FrontEndNavigationProvider.MenuName, AbpSession.ToUserIdentifier())); headerModel.CurrentPageName = currentPageName; headerModel.IsMultiTenancyEnabled = _multiTenancyConfig.IsEnabled; headerModel.TenantRegistrationEnabled = SettingManager.GetSettingValue <bool>(AppSettings.TenantManagement.AllowSelfRegistration); return(PartialView("~/Views/Layout/_Header.cshtml", headerModel)); }
/// <summary> /// /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task UpdateCurrentUserProfile(CurrentUserProfileEditDto input) { var user = await GetCurrentUserAsync(); input.MapTo(user); CheckErrors(await UserManager.UpdateAsync(user)); if (Clock.SupportsMultipleTimezone) { if (input.Timezone.IsNullOrEmpty()) { var defaultValue = await _timeZoneService.GetDefaultTimezoneAsync(SettingScopes.User, AbpSession.TenantId); await SettingManager.ChangeSettingForUserAsync(AbpSession.ToUserIdentifier(), TimingSettingNames.TimeZone, defaultValue); } else { await SettingManager.ChangeSettingForUserAsync(AbpSession.ToUserIdentifier(), TimingSettingNames.TimeZone, input.Timezone); } } }
public bool IsAccountLienThong(int tenanId) { try { bool isAccount = false; string _UserLienThong = SettingManager.GetSettingValueForTenant(AppSettings.LienThongInfo.USER_LIEN_THONG, tenanId); string _PassLienThongMaHoa = SettingManager.GetSettingValueForTenant(AppSettings.LienThongInfo.PASS_LIEN_THONG, tenanId); if (!string.IsNullOrEmpty(_UserLienThong) && !string.IsNullOrEmpty(_PassLienThongMaHoa)) { isAccount = true; } return(isAccount); } catch (Exception ex) { Logger.Error(ex.Message); return(false); } }
private static void PreApplyDBFileIfNotExist() { var path = Path.GetFullPath(SettingManager.LoadSetting <GlobalSetting>().DBFilePath); if (File.Exists(path)) { return; } //try get default empty database file var exe_path = Directory.GetParent(Process.GetCurrentProcess().MainModule.FileName).FullName; var default_db_path = Path.Combine(exe_path, "default_empty.db"); if (!File.Exists(default_db_path)) { throw new Exception($"Wbooru没有数据库,也没从{default_db_path}找到default_empty.db以及其他的数据库文件资源,请自行生成数据库文件并放置到{path}."); } Log.Info($"user database file not found , move default database file {default_db_path} to {path}"); File.Copy(default_db_path, path); }
private async Task <TenantUserManagementSettingsEditDto> GetUserManagementSettingsAsync() { return(new TenantUserManagementSettingsEditDto { AllowSelfRegistration = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.AllowSelfRegistration), IsNewRegisteredUserActiveByDefault = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.IsNewRegisteredUserActiveByDefault), IsEmailConfirmationRequiredForLogin = await SettingManager.GetSettingValueAsync <bool>(AbpZeroSettingNames.UserManagement.IsEmailConfirmationRequiredForLogin), UseCaptchaOnRegistration = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.UseCaptchaOnRegistration), UseCaptchaOnLogin = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.UseCaptchaOnLogin), IsCookieConsentEnabled = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.IsCookieConsentEnabled), IsQuickThemeSelectEnabled = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.IsQuickThemeSelectEnabled), AllowUsingGravatarProfilePicture = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.AllowUsingGravatarProfilePicture), SessionTimeOutSettings = new SessionTimeOutSettingsEditDto() { IsEnabled = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.SessionTimeOut.IsEnabled), TimeOutSecond = await SettingManager.GetSettingValueAsync <int>(AppSettings.UserManagement.SessionTimeOut.TimeOutSecond), ShowTimeOutNotificationSecond = await SettingManager.GetSettingValueAsync <int>(AppSettings.UserManagement.SessionTimeOut.ShowTimeOutNotificationSecond), ShowLockScreenWhenTimedOut = await SettingManager.GetSettingValueAsync <bool>(AppSettings.UserManagement.SessionTimeOut.ShowLockScreenWhenTimedOut) } }); }
public void Save() { TransactMode transactionMode = TransactMode.Authorize; if (rbAuthorize.Checked) { transactionMode = TransactMode.Authorize; } if (rbAuthorizeAndCapture.Checked) { transactionMode = TransactMode.AuthorizeAndCapture; } SetTransactionMode(transactionMode); SettingManager.SetParam("PaymentMethod.PaypalDirect.UseSandbox", cbUseSandbox.Checked.ToString()); SettingManager.SetParam("PaymentMethod.PaypalDirect.APIAccountName", txtAPIAccountName.Text); SettingManager.SetParam("PaymentMethod.PaypalDirect.APIAccountPassword", txtAPIAccountPassword.Text); SettingManager.SetParam("PaymentMethod.PaypalDirect.Signature", txtSignature.Text); SettingManager.SetParamNative("PaymentMethod.PaypalDirect.AdditionalFee", txtAdditionalFee.Value); }
/* Checkes two factor code and returns a token to remember the client (browser) if needed */ private async Task <string> TwoFactorAuthenticateAsync(User user, AuthenticateModel authenticateModel) { var twoFactorCodeCache = _cacheManager.GetTwoFactorCodeCache(); var userIdentifier = user.ToUserIdentifier().ToString(); var cachedCode = await twoFactorCodeCache.GetOrDefaultAsync(userIdentifier); var provider = _cacheManager.GetCache("ProviderCache").Get("Provider", cache => cache).ToString(); if (provider == GoogleAuthenticatorProvider.Name) { if (!await _googleAuthenticatorProvider.ValidateAsync("TwoFactor", authenticateModel.TwoFactorVerificationCode, _userManager, user)) { throw new UserFriendlyException(L("InvalidSecurityCode")); } } else if (cachedCode?.Code == null || cachedCode.Code != authenticateModel.TwoFactorVerificationCode) { throw new UserFriendlyException(L("InvalidSecurityCode")); } //Delete from the cache since it was a single usage code await twoFactorCodeCache.RemoveAsync(userIdentifier); if (authenticateModel.RememberClient) { if (await SettingManager.GetSettingValueAsync <bool>(AbpZeroSettingNames.UserManagement.TwoFactorLogin .IsRememberBrowserEnabled)) { return(CreateAccessToken(new[] { new Claim(UserIdentifierClaimType, user.ToUserIdentifier().ToString()) }, TimeSpan.FromDays(365) )); } } return(null); }
private async Task UpdateUserManagementSettingsAsync(TenantUserManagementSettingsEditDto settings) { await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.AllowSelfRegistration, settings.AllowSelfRegistration.ToString().ToLowerInvariant() ); await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.IsNewRegisteredUserActiveByDefault, settings.IsNewRegisteredUserActiveByDefault.ToString().ToLowerInvariant() ); await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AbpZeroSettingNames.UserManagement.IsEmailConfirmationRequiredForLogin, settings.IsEmailConfirmationRequiredForLogin.ToString().ToLowerInvariant() ); await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.UseCaptchaOnRegistration, settings.UseCaptchaOnRegistration.ToString().ToLowerInvariant() ); await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.UseCaptchaOnLogin, settings.UseCaptchaOnLogin.ToString().ToLowerInvariant() ); await SettingManager.ChangeSettingForTenantAsync( AbpSession.GetTenantId(), AppSettings.UserManagement.IsCookieConsentEnabled, settings.IsCookieConsentEnabled.ToString().ToLowerInvariant() ); await UpdateUserManagementSessionTimeOutSettingsAsync(settings.SessionTimeOutSettings); }
public void Should_Delete_Setting_Values_On_Default_Value() { var session = new MyChangableSession(); var store = new MemorySettingStore(); var settingManager = new SettingManager(CreateMockSettingDefinitionManager()); settingManager.SettingStore = store; settingManager.Session = session; session.TenantId = 1; session.UserId = 1; //We can get user's personal stored value store.GetSettingOrNull(null, 1, MyAllLevelsSetting).ShouldNotBe(null); settingManager.GetSettingValue(MyAllLevelsSetting).ShouldBe("user 1 stored value"); //This will delete setting for the user since it's same as tenant's setting value settingManager.ChangeSettingForUser(1, MyAllLevelsSetting, "tenant 1 stored value"); store.GetSettingOrNull(null, 1, MyAllLevelsSetting).ShouldBe(null); //We can get tenant's setting value store.GetSettingOrNull(1, null, MyAllLevelsSetting).ShouldNotBe(null); settingManager.GetSettingValue(MyAllLevelsSetting).ShouldBe("tenant 1 stored value"); //This will delete setting for tenant since it's same as application's setting value settingManager.ChangeSettingForTenant(1, MyAllLevelsSetting, "application level stored value"); store.GetSettingOrNull(null, 1, MyAllLevelsSetting).ShouldBe(null); //We can get application's value store.GetSettingOrNull(null, null, MyAllLevelsSetting).ShouldNotBe(null); settingManager.GetSettingValue(MyAllLevelsSetting).ShouldBe("application level stored value"); //This will delete setting for application since it's same as the default value of the setting settingManager.ChangeSettingForApplication(MyAllLevelsSetting, "application level default value"); store.GetSettingOrNull(null, null, MyAllLevelsSetting).ShouldBe(null); //Now, there is no setting value, default value should return settingManager.GetSettingValue(MyAllLevelsSetting).ShouldBe("application level default value"); }
public virtual ActionResult ChangeCulture(string cultureName, string returnUrl = "") { if (!GlobalizationHelper.IsValidCultureCode(cultureName)) { throw new MajidException("Unknown language: " + cultureName + ". It must be a valid culture!"); } var cookieValue = CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(cultureName, cultureName)); Response.Cookies.Append( CookieRequestCultureProvider.DefaultCookieName, cookieValue, new CookieOptions { Expires = Clock.Now.AddYears(2), HttpOnly = true } ); if (MajidSession.UserId.HasValue) { SettingManager.ChangeSettingForUser( MajidSession.ToUserIdentifier(), LocalizationSettingNames.DefaultLanguage, cultureName ); } if (Request.IsAjaxRequest()) { return(Json(new AjaxResponse())); } if (!string.IsNullOrWhiteSpace(returnUrl) && MajidUrlHelper.IsLocalUrl(Request, returnUrl)) { return(Redirect(returnUrl)); } return(Redirect("/")); //TODO: Go to app root }
void Awake () { Instance = this; }