用户管理、角色管理BUG修复

This commit is contained in:
cwchen 2025-09-01 09:28:04 +08:00
parent c0efc5c91a
commit 13e48ebc09
1 changed files with 30 additions and 9 deletions

View File

@ -76,7 +76,10 @@ public class PasswordValidatorServiceImpl implements PasswordValidatorService {
private boolean isPasswordCharacterValid(String password) {
boolean hasUpperCase = false, hasLowerCase = false, hasDigit = false, hasSpecialChar = false;
systemConfig.getPasswordConfig().setRequireUpperCase(true);
systemConfig.getPasswordConfig().setRequireLowerCase(true);
systemConfig.getPasswordConfig().setRequireDigit(true);
systemConfig.getPasswordConfig().setRequireSpecialChar(true);
for (char c : password.toCharArray()) {
if (Character.isUpperCase(c)) hasUpperCase = true;
if (Character.isLowerCase(c)) hasLowerCase = true;
@ -84,10 +87,24 @@ public class PasswordValidatorServiceImpl implements PasswordValidatorService {
if ("!@#$%^&*()-_=+[{]};:'\",<.>/?".indexOf(c) >= 0) hasSpecialChar = true;
}
if (systemConfig.getPasswordConfig().isRequireUpperCase() && !hasUpperCase) return false;
if (systemConfig.getPasswordConfig().isRequireLowerCase() && !hasLowerCase) return false;
if (systemConfig.getPasswordConfig().isRequireDigit() && !hasDigit) return false;
return !(systemConfig.getPasswordConfig().isRequireSpecialChar() && !hasSpecialChar);
if (systemConfig.getPasswordConfig().isRequireUpperCase() && !hasUpperCase) {
systemConfig.getPasswordConfig().setRequireUpperCase(false);
return false;
};
if (systemConfig.getPasswordConfig().isRequireLowerCase() && !hasLowerCase) {
systemConfig.getPasswordConfig().setRequireLowerCase(false);
return false;
};
if (systemConfig.getPasswordConfig().isRequireDigit() && !hasDigit) {
systemConfig.getPasswordConfig().setRequireDigit(false);
return false;
};
if (systemConfig.getPasswordConfig().isRequireSpecialChar() && !hasSpecialChar) {
systemConfig.getPasswordConfig().setRequireSpecialChar(false);
return false;
};
return true;
// return !(systemConfig.getPasswordConfig().isRequireSpecialChar() && !hasSpecialChar);
}
private boolean containsWeakPassword(String password) {
@ -104,16 +121,20 @@ public class PasswordValidatorServiceImpl implements PasswordValidatorService {
* 根据配置返回密码不符合要求时的错误提示信息
*/
private String getCharacterRequirementErrorMessage() {
if (systemConfig.getPasswordConfig().isRequireUpperCase()) {
System.err.println(systemConfig.getPasswordConfig().isRequireUpperCase());
System.err.println(systemConfig.getPasswordConfig().isRequireLowerCase());
System.err.println(systemConfig.getPasswordConfig().isRequireDigit());
System.err.println(systemConfig.getPasswordConfig().isRequireSpecialChar());
if (!systemConfig.getPasswordConfig().isRequireUpperCase()) {
return "密码必须包含大写字母!";
}
if (systemConfig.getPasswordConfig().isRequireLowerCase()) {
if (!systemConfig.getPasswordConfig().isRequireLowerCase()) {
return "密码必须包含小写字母!";
}
if (systemConfig.getPasswordConfig().isRequireDigit()) {
if (!systemConfig.getPasswordConfig().isRequireDigit()) {
return "密码必须包含数字!";
}
if (systemConfig.getPasswordConfig().isRequireSpecialChar()) {
if (!systemConfig.getPasswordConfig().isRequireSpecialChar()) {
return "密码必须包含特殊字符!";
}
return "密码不符合字符要求!";