/// <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)); }
/// <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); }