|
|
@@ -1,6 +1,5 @@
|
|
|
package com.nb.web.service.system.auth;
|
|
|
|
|
|
-import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
@@ -20,6 +19,7 @@ import com.nb.web.service.system.entity.SysUser;
|
|
|
import com.nb.web.service.system.service.ISysMenuService;
|
|
|
import com.nb.web.service.system.service.ISysRoleService;
|
|
|
import com.nb.web.service.system.service.ISysUserService;
|
|
|
+import com.nb.core.utils.PswUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import java.util.*;
|
|
|
@@ -72,6 +72,7 @@ public class DefaultAccountOperator implements IAccountOperator {
|
|
|
userInfoVO.setRoles(roleInfoVOList);
|
|
|
userInfoVO.setIsSys(sysUser.getIsSys());
|
|
|
userInfoVO.setTenantName(sysUser.getTenantName());
|
|
|
+ userInfoVO.setPswNeedReset(sysUser.getPswNeedReset());
|
|
|
}
|
|
|
userInfoVO.setTenantId(String.valueOf(loginUser.getTenantId()));
|
|
|
return userInfoVO;
|
|
|
@@ -133,11 +134,16 @@ public class DefaultAccountOperator implements IAccountOperator {
|
|
|
if (!SecurityUtil.matchesPassword(oldPass, sysUser.getPassword())) {
|
|
|
throw new CustomException("旧密码不正确");
|
|
|
}
|
|
|
+ if (!PswUtils.validatePsw(newPass)) {
|
|
|
+ throw new CustomException("密码由8~16位大小写字母、数字及特殊字符等混合、随机组成(至少包括数字、小写字母、大写字母和特殊符号中的三种)");
|
|
|
+ }
|
|
|
+ boolean validatePsw = PswUtils.validatePsw(newPass);
|
|
|
String encryptPassword = SecurityUtil.encryptPassword(newPass);
|
|
|
return sysUserService
|
|
|
.update(new UpdateWrapper<SysUser>()
|
|
|
.lambda().eq(SysUser::getId,userId)
|
|
|
- .set(SysUser::getPassword,encryptPassword));
|
|
|
+ .set(SysUser::getPassword,encryptPassword)
|
|
|
+ .set(SysUser::getPswNeedReset,!validatePsw));
|
|
|
}
|
|
|
|
|
|
private List<RouteItemVO> getChildrenList(SysMenu root, List<SysMenu> list) {
|