diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java index e8964c079..b9a568418 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java @@ -20,6 +20,7 @@ import cn.stylefeng.roses.kernel.file.api.FileInfoApi; import cn.stylefeng.roses.kernel.file.api.constants.FileConstants; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; +import cn.stylefeng.roses.kernel.sys.api.SecurityConfigService; import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi; import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants; import cn.stylefeng.roses.kernel.sys.api.context.DataScopeContext; @@ -73,6 +74,9 @@ public class SysUserServiceImpl extends ServiceImpl impl @Resource(name = "loginErrorCountCacheApi") private CacheOperatorApi loginErrorCountCacheApi; + @Resource + private SecurityConfigService securityConfigService; + @Override @Transactional(rollbackFor = Exception.class) public void add(SysUserRequest sysUserRequest) { @@ -306,6 +310,9 @@ public class SysUserServiceImpl extends ServiceImpl impl throw new ServiceException(SysUserExceptionEnum.USER_PWD_ERROR); } + // 校验新密码规则,根据密码策略 + securityConfigService.validatePasswordSecurityRule(true, sysUserRequest.getNewPassword()); + // 设置新的加密后密码和盐 SaltedEncryptResult saltedEncryptResult = passwordStoredEncryptApi.encryptWithSalt(sysUserRequest.getNewPassword()); sysUser.setPassword(saltedEncryptResult.getEncryptPassword());