public ActionResult AccountSecurity() { _accountSecurityConfig = WebConfigurationManager.OpenWebConfiguration("~").GetSection("AccountSecurityConfig") as AccountSecurityConfig; var model = new AccountSecurityConfigViewModel(); ViewBag.registerStatus = new SelectList(Enum.GetValues(typeof(RegisterStatus)).Cast<RegisterStatus>() .Select(x => new SelectListItem() { Text = x.ToString(), Value = ((int)x).ToString() }).ToList(), "Value", "Text") .Select(y => new SelectListItem() { Selected = (int)_accountSecurityConfig.RegisterStatus == int.Parse(y.Value), Text = y.Text, Value = y.Value }); ViewBag.registerVerify = new SelectList(Enum.GetValues(typeof(RegisterVerify)).Cast<RegisterVerify>() .Select(x => new SelectListItem() { Text = x.ToString(), Value = ((int)x).ToString() }).ToList(), "Value", "Text") .Select(y => new SelectListItem() { Selected = _accountSecurityConfig.RegisterVerify.ToString() == y.Value, Text = y.Text, Value = y.Value }); ViewBag.passwordStrength = new SelectList(Enum.GetValues(typeof(PasswordStrength)).Cast<PasswordStrength>().Select(x => new SelectListItem() { Text = x.ToString(), Value = ((byte)x).ToString() }).ToList(), "Value", "Text") .Select(y => new SelectListItem() { Selected = ((PasswordStrength)_accountSecurityConfig.PasswordStrength).HasFlag((PasswordStrength)int.Parse(y.Value)), Text = y.Text, Value = y.Value }); model.RegisterClosedMessage = _accountSecurityConfig.RegisterClosedMessage; model.RegisterRulesEnable = _accountSecurityConfig.RegisterRulesEnable; model.RegisterRules = _accountSecurityConfig.RegisterRules; model.MailVerifySubject = _accountSecurityConfig.MailVerifySubject; model.MailVerifyBody = _accountSecurityConfig.MailVerifyBody; model.SmsVerifyBody = _accountSecurityConfig.SmsVerifyBody; model.CensorUser = _accountSecurityConfig.CensorUser; model.PasswordLength = _accountSecurityConfig.PasswordLength; model.EnableLockout = _accountSecurityConfig.EnableLockout; model.FailedLoginAttemps = _accountSecurityConfig.FailedLoginAttemps; model.AccountLockoutTimeSpan = _accountSecurityConfig.AccountLockoutTimeSpan; return View(model); }
public ActionResult AccountSecurity(AccountSecurityConfigViewModel model, string selectedRegisterStatus, string selectedRegisterVerify, string PasswordStrength) { if (ModelState.IsValid) { _accountSecurityConfig = WebConfigurationManager.OpenWebConfiguration("~").GetSection("AccountSecurityConfig") as AccountSecurityConfig; _accountSecurityConfig.RegisterStatus = int.Parse(selectedRegisterStatus); _accountSecurityConfig.RegisterVerify = int.Parse(selectedRegisterVerify); model.PasswordStrength = (byte)0; if (!string.IsNullOrEmpty(PasswordStrength)) { string[] ps = PasswordStrength.Split(','); foreach (var item in ps) { model.PasswordStrength = (PasswordStrength)Enum.Parse(typeof(PasswordStrength), item) | model.PasswordStrength; } } _accountSecurityConfig.PasswordStrength = byte.Parse(model.PasswordStrength.ToString()); _accountSecurityConfig.RegisterClosedMessage = model.RegisterClosedMessage ?? ""; _accountSecurityConfig.RegisterRulesEnable = model.RegisterRulesEnable; _accountSecurityConfig.RegisterRules = model.RegisterRules ?? ""; _accountSecurityConfig.MailVerifySubject = model.MailVerifySubject ?? ""; _accountSecurityConfig.MailVerifyBody = Server.HtmlEncode(model.MailVerifyBody) ?? ""; _accountSecurityConfig.SmsVerifyBody = model.SmsVerifyBody ?? ""; _accountSecurityConfig.CensorUser = model.CensorUser ?? ""; _accountSecurityConfig.PasswordLength = model.PasswordLength; _accountSecurityConfig.EnableLockout = model.EnableLockout; _accountSecurityConfig.FailedLoginAttemps = model.FailedLoginAttemps; _accountSecurityConfig.AccountLockoutTimeSpan = model.AccountLockoutTimeSpan; _accountSecurityConfig.CurrentConfiguration.Save(); return RedirectToAction("AccountSecurity"); } return View("AccountSecurity"); }