Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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");
        }