示例#1
0
        /// <summary>
        /// 重置用户登录密码
        /// </summary>
        /// <param name = "newWord" > </param>
        /// <returns> </returns>
        public bool ResetPassword(string newWord)
        {
            //如果用户信息验证失败,则抛出异常
            ThrowExceptionIfValidateFailure(() =>
            {
                //新密码不能为空
                if (string.IsNullOrWhiteSpace(newWord))
                {
                    AddBrokenRule(UserAccountFailureRules.NEW_PASSWORD_CANNOT_NULL);
                }
            });

            string encryptPwd = newWord.PasswordEncrypt();

            //重置后的密码与重置前密码一致,则无须修改
            if (encryptPwd.Equals(UserInfo.Password, StringComparison.OrdinalIgnoreCase))
            {
                return(true);
            }

            return(UsersAccessor.ResetPassword(ID, encryptPwd));
        }
示例#2
0
        /// <summary>
        /// 修改用户登录密码
        /// </summary>
        /// <param name = "oldWord" > </param>
        /// <param name = "newWord" > </param>
        /// <returns> </returns>
        public bool ModifyPassword(string oldWord, string newWord)
        {
            bool success = false;

            //如果用户信息验证失败,则抛出异常
            ThrowExceptionIfValidateFailure(() =>
            {
                //新密码不能为空
                if (string.IsNullOrWhiteSpace(newWord))
                {
                    AddBrokenRule(UserAccountFailureRules.NEW_PASSWORD_CANNOT_NULL);
                }
                //验证旧密码是否正确
                else if (string.IsNullOrWhiteSpace(oldWord) || !oldWord.PasswordEncrypt()
                         .Equals(UserInfo.Password, StringComparison.OrdinalIgnoreCase))
                {
                    AddBrokenRule(UserAccountFailureRules.OLD_PASSWORD_CHECK_FAILURE);
                }
            });

            //新旧密码不一致时,将新密码更新到数据库
            if (!oldWord.Equals(newWord))
            {
                string encryptPwd = newWord.PasswordEncrypt();

                if (encryptPwd.Equals(UserInfo.Password, StringComparison.OrdinalIgnoreCase))
                {
                    success = true;
                }
                else
                {
                    success = UsersAccessor.ResetPassword(ID, encryptPwd);
                }
            }

            return(success);
        }