private void ValidatePassword(IPasswordModel model)
        {
            if (string.IsNullOrEmpty(model.password))
                ModelState.AddModelError("model.password", "required");

            if (string.IsNullOrEmpty(model.passwordConfirmation))
                ModelState.AddModelError("model.passwordConfirmation", "required");

            if (model.password != model.passwordConfirmation)
            {
                ModelState.AddModelError("model.password", "required");
                ModelState.AddModelError("model.passwordConfirmation", "Passwort und Passwortwiederholung müssen übereinstimmen!");
            }
        }
示例#2
0
        private void ValidatePassword(IPasswordModel model)
        {
            if (string.IsNullOrEmpty(model.password))
            {
                ModelState.AddModelError("model.password", "required");
            }

            if (string.IsNullOrEmpty(model.passwordConfirmation))
            {
                ModelState.AddModelError("model.passwordConfirmation", "required");
            }

            if (model.password != model.passwordConfirmation)
            {
                ModelState.AddModelError("model.password", "required");
                ModelState.AddModelError("model.passwordConfirmation", "Passwort und Passwortwiederholung müssen übereinstimmen!");
            }
        }
示例#3
0
        /// <summary>
        /// Changes the password.
        /// </summary>
        /// <param name="pwdModel">The password model.</param>
        /// <returns></returns>
        public async Task <bool> ChangePassword(IPasswordModel pwdModel)
        {
            return(await Task.Factory.StartNew(() =>
            {
                if (pwdModel.NewPassword != pwdModel.ConfirmPassword)
                {
                    return false;
                }

                var isValidPwd = _userRepository.GetVerifiedUser(pwdModel.UserName, pwdModel.OldPassword).Where(x => !x.LockoutEnabled).Any();
                if (isValidPwd)
                {
                    var result = _userRepository.UpdatePassword(pwdModel.UserName, pwdModel.NewPassword);
                    return result > decimal.Zero;
                }

                return false;
            }));
        }
示例#4
0
        /// <summary>
        /// Changes the password.
        /// </summary>
        /// <param name="pwdModel">The password model.</param>
        /// <returns></returns>
        public async Task <bool> ChangePassword(IPasswordModel pwdModel)
        {
            if (pwdModel.IsNull() || pwdModel.NewPassword != pwdModel.ConfirmPassword)
            {
                return(false);
            }

            var user = await _userRepository.FindByIdAsync(UserContext.Current.UserId);

            if (user.IsNotNull())
            {
                if (await _securityManager.VerifyHashedPassword(user.PasswordHash, pwdModel.OldPassword))
                {
                    var hashedPasword = await _securityManager.GetHashPassword(pwdModel.NewPassword);

                    return(await _userRepository.UpdatePasswordAsync(UserContext.Current.UserId, hashedPasword));
                }
            }

            return(false);
        }
示例#5
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            LoggerController.AddBeginMethodLog(this.GetType().Name, MethodBase.GetCurrentMethod().Name);
            s.Restart();
            ValidationResult retval  = new ValidationResult("");
            IPasswordModel   rvm     = (IPasswordModel)validationContext.ObjectInstance;
            int    nonLetterAndDigit = 0;
            int    digit             = 0;
            int    upperCase         = 0;
            int    lowerCase         = 0;
            string password          = string.Empty;

            if (rvm.Password == null)
            {
                password = rvm.NewPassword;
            }
            else
            {
                password = rvm.Password;
            }
            foreach (char c in password)
            {
                if (char.IsDigit(c))
                {
                    digit++;
                }
                else if (!char.IsLetterOrDigit(c))
                {
                    nonLetterAndDigit++;
                }
                else if (char.IsUpper(c))
                {
                    upperCase++;
                }
                else if (char.IsLower(c))
                {
                    lowerCase++;
                }
            }

            if (nonLetterAndDigit == 0)
            {
                retval.ErrorMessage += "Hasło powinno zawierać przynajmniej jeden znak niealfanumeryczny.";
            }
            if (digit == 0)
            {
                retval.ErrorMessage += "Hasło powinno zawierać przynajmniej jedną cyfrę.";
            }
            if (upperCase == 0)
            {
                retval.ErrorMessage += "Hasło powinno zawierać przynajmniej jedną dużą literę.";
            }
            if (lowerCase == 0)
            {
                retval.ErrorMessage += "Hasło powinno zawierać przynajmniej jedną małą literę.";
            }

            s.Stop();
            LoggerController.AddEndMethodLog(this.GetType().Name,
                                             MethodBase.GetCurrentMethod().Name, s.ElapsedMilliseconds);

            return(string.IsNullOrEmpty(retval.ErrorMessage) ? ValidationResult.Success : retval);
        }
 private void OnDataView(IPasswordModel e)
 {
     _notify.DataViewEvent(e);
 }