From 42cd4e2f55f90d9a2d07df69c25b8ab940cc1d9d Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Apr 2025 17:22:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/impl/SysUserServiceImpl.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java index 9a63e3b4..ffec4559 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java @@ -614,9 +614,7 @@ public class SysUserServiceImpl implements ISysUserService { } // 2. 检查密码字符类型 - if (!isPasswordCharacterValid(decrypt)) { - throw new ServiceException(getCharacterRequirementErrorMessage()); - } + isPasswordCharacterValid(decrypt); // 3. 检查常见弱密码 if (containsWeakPassword(decrypt.toLowerCase())) { @@ -754,7 +752,7 @@ public class SysUserServiceImpl implements ISysUserService { * @param password * @return */ - private boolean isPasswordCharacterValid(String password) { + private void isPasswordCharacterValid(String password) { boolean hasUpperCase = false, hasLowerCase = false, hasDigit = false, hasSpecialChar = false; for (char c : password.toCharArray()) { @@ -773,15 +771,17 @@ public class SysUserServiceImpl implements ISysUserService { } if (systemConfig.getPasswordConfig().isRequireUpperCase() && !hasUpperCase) { - return false; + throw new ServiceException("新密码必须包含大写字母!"); } if (systemConfig.getPasswordConfig().isRequireLowerCase() && !hasLowerCase) { - return false; + throw new ServiceException("新密码必须包含小写字母!"); } if (systemConfig.getPasswordConfig().isRequireDigit() && !hasDigit) { - return false; + throw new ServiceException("新密码必须包含数字!"); + } + if (systemConfig.getPasswordConfig().isRequireSpecialChar() && !hasSpecialChar) { + throw new ServiceException("新密码必须包含特殊字符!"); } - return !(systemConfig.getPasswordConfig().isRequireSpecialChar() && !hasSpecialChar); } /**