Browse Source

阶段提交

laowo 3 years ago
parent
commit
190d24b766

+ 0 - 4
src/main/java/com/usky/config/shiro/UserRealm.java

@@ -4,12 +4,9 @@ import com.usky.config.shiro.jwt.JwtToken;
 import com.usky.constant.Constant;
 import com.usky.constant.Constant;
 import com.usky.entity.sys.vo.SysUserVO;
 import com.usky.entity.sys.vo.SysUserVO;
 import com.usky.service.sys.menuService.MenuService;
 import com.usky.service.sys.menuService.MenuService;
-import com.usky.service.sys.user.LoginService;
 import com.usky.service.sys.user.UserService;
 import com.usky.service.sys.user.UserService;
 import com.usky.utils.AuthorizationUtils;
 import com.usky.utils.AuthorizationUtils;
 import com.usky.utils.RedisUtil;
 import com.usky.utils.RedisUtil;
-
-import com.usky.utils.ShiroUtils;
 import com.usky.utils.jwt.JwtUtil;
 import com.usky.utils.jwt.JwtUtil;
 import com.usky.utils.jwt.common.StringUtil;
 import com.usky.utils.jwt.common.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
@@ -19,7 +16,6 @@ import org.apache.shiro.authc.AuthenticationToken;
 import org.apache.shiro.authc.SimpleAuthenticationInfo;
 import org.apache.shiro.authc.SimpleAuthenticationInfo;
 import org.apache.shiro.authz.AuthorizationInfo;
 import org.apache.shiro.authz.AuthorizationInfo;
 import org.apache.shiro.authz.SimpleAuthorizationInfo;
 import org.apache.shiro.authz.SimpleAuthorizationInfo;
-import org.apache.shiro.cache.Cache;
 import org.apache.shiro.realm.AuthorizingRealm;
 import org.apache.shiro.realm.AuthorizingRealm;
 import org.apache.shiro.subject.PrincipalCollection;
 import org.apache.shiro.subject.PrincipalCollection;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.context.annotation.Lazy;

+ 1 - 1
src/main/java/com/usky/constant/Constant.java

@@ -57,6 +57,6 @@ public class Constant {
     /**
     /**
      * PASSWORD_MAX_LEN
      * PASSWORD_MAX_LEN
      */
      */
-    public static final Integer PASSWORD_MAX_LEN = 8;
+   // public static final Integer PASSWORD_MAX_LEN = 8;
 
 
 }
 }

+ 18 - 36
src/main/java/com/usky/controller/sys/UserController.java

@@ -17,6 +17,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.PropertySource;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 
 
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
@@ -38,16 +40,17 @@ import java.util.Set;
 @Api(tags = "系统-用户管理")
 @Api(tags = "系统-用户管理")
 @RestController
 @RestController
 @RequestMapping("sys/user")
 @RequestMapping("sys/user")
+@PropertySource("classpath:config.properties")
 public class UserController {
 public class UserController {
     @Autowired
     @Autowired
     private UserService userService;
     private UserService userService;
     @Autowired
     @Autowired
-    private RoleService roleService;
-    @Autowired
     private RedisUtil redisUtil;
     private RedisUtil redisUtil;
-
     private String prefix = "sys/user";
     private String prefix = "sys/user";
 
 
+    @Value("${passwordMaxLen}")
+    private int PASSWORD_MAX_LEN;
+
     @ApiOperation("用户管理-页面鉴权")
     @ApiOperation("用户管理-页面鉴权")
     @RequiresPermissions("system:user:view")
     @RequiresPermissions("system:user:view")
     @GetMapping()
     @GetMapping()
@@ -55,29 +58,7 @@ public class UserController {
         return prefix + "/user";
         return prefix + "/user";
     }
     }
 
 
-
     @ApiOperation(value = "系统-用户添加")
     @ApiOperation(value = "系统-用户添加")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "loginName", value = "登录名", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "status", value = "账户状态 0正常 1 停用", required = false, paramType = "query"),
-            @ApiImplicitParam(name = "phonenumber", value = "手机号", required = false, paramType = "query"),
-            @ApiImplicitParam(name = "deptId", value = "部门id", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "roleIds", value = "角色", required = false, paramType = "query"),
-            @ApiImplicitParam(name = "userName", value = "用户名", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "remark", value = "备注", required = false, paramType = "query"),
-    })
-//    @PostMapping("addUser")
-//    public Result<?> addUser(
-//            @RequestParam(value = "loginName", required = true) String loginName,
-//            @RequestParam(value = "status", defaultValue = "0") String status,
-//            @RequestParam(value = "phonenumber", required = true) String phonenumber,
-//            @RequestParam(value = "deptId", required = true) Integer deptId,
-//            @RequestParam(value = "password", required = true) String password,
-//            @RequestParam(value = "userName", required = true) String userName,
-//            @RequestParam(value = "roleIds", required = true) String roleIds,
-//            @RequestParam(value = "remark", required = false) String remark
-//    ) {
     @PostMapping("addUser")
     @PostMapping("addUser")
     public Result<?> addUser(@Validated SysUserVO userVO) {
     public Result<?> addUser(@Validated SysUserVO userVO) {
         //登录名校验
         //登录名校验
@@ -85,22 +66,18 @@ public class UserController {
         if (ListUtil.isNotBlank(sysUserVOList)) {
         if (ListUtil.isNotBlank(sysUserVOList)) {
             return Result.error("登录名已存在");
             return Result.error("登录名已存在");
         }
         }
+        if (!Validator.isMobile(userVO.getPhonenumber())) {
+            return Result.error("手机号格式异常");
+        }
         List<SysUserVO> phone = userService.listAll(new SysUserVO(), null, null, userVO.getPhonenumber(), null, null, null);
         List<SysUserVO> phone = userService.listAll(new SysUserVO(), null, null, userVO.getPhonenumber(), null, null, null);
         if (ListUtil.isNotBlank(phone)) {
         if (ListUtil.isNotBlank(phone)) {
             return Result.error("手机号已存在");
             return Result.error("手机号已存在");
         }
         }
-        if (userVO.getPassword().length() > Constant.PASSWORD_MAX_LEN) {
+        if (userVO.getPassword().length() > PASSWORD_MAX_LEN) {
             throw new CustomException("密码最多8位");
             throw new CustomException("密码最多8位");
         }
         }
         String key = AesCipherUtil.enCrypto(userVO.getLoginName() + userVO.getPassword());
         String key = AesCipherUtil.enCrypto(userVO.getLoginName() + userVO.getPassword());
-//        SysUserVO user = new SysUserVO();
-//        user.setLoginName(loginName);
-//        user.setDeptId(deptId);
-//        user.setRemark(remark);
-//        user.setUserName(userName);
-//        user.setPassword(key);
-//        user.setStatus(status);
-//        user.setRoleIds(roleIds);
+        userVO.setPassword(key);
         userService.addUser(userVO);
         userService.addUser(userVO);
         return Result.OK();
         return Result.OK();
     }
     }
@@ -136,7 +113,6 @@ public class UserController {
     @ApiOperation(value = "用户查询-全部 -可用于导出")
     @ApiOperation(value = "用户查询-全部 -可用于导出")
     @PostMapping("listAll")
     @PostMapping("listAll")
     @ApiImplicitParams({
     @ApiImplicitParams({
-            //     @ApiImplicitParam(name = "loginName", value = "登录名", required = true, paramType = "query"),
             @ApiImplicitParam(name = "loginName", value = "登录名", required = false, paramType = "query"),
             @ApiImplicitParam(name = "loginName", value = "登录名", required = false, paramType = "query"),
             @ApiImplicitParam(name = "status", value = "账户状态 0正常 1 停用", required = false, paramType = "query"),
             @ApiImplicitParam(name = "status", value = "账户状态 0正常 1 停用", required = false, paramType = "query"),
             @ApiImplicitParam(name = "phonenumber", value = "手机号", required = false, paramType = "query"),
             @ApiImplicitParam(name = "phonenumber", value = "手机号", required = false, paramType = "query"),
@@ -181,6 +157,9 @@ public class UserController {
     ) {
     ) {
         if (StringUtils.isNotBlank(phonenumber)) {
         if (StringUtils.isNotBlank(phonenumber)) {
             //用户手机号校验
             //用户手机号校验
+            if (!Validator.isMobile(phonenumber)) {
+                return Result.error("手机号格式错误");
+            }
             List<SysUserDTO> user = userService.queryUserByPhone(phonenumber);
             List<SysUserDTO> user = userService.queryUserByPhone(phonenumber);
             if (ListUtil.isNotBlank(user)) {
             if (ListUtil.isNotBlank(user)) {
                 return Result.error("手机号已存在!");
                 return Result.error("手机号已存在!");
@@ -197,6 +176,7 @@ public class UserController {
         userService.updateUser(user);
         userService.updateUser(user);
         return Result.OK();
         return Result.OK();
     }
     }
+
     @ApiOperation("密码重置")
     @ApiOperation("密码重置")
     @RequiresPermissions("system:user:resetPwd")
     @RequiresPermissions("system:user:resetPwd")
     @PostMapping("/resetPwd")
     @PostMapping("/resetPwd")
@@ -210,7 +190,7 @@ public class UserController {
         if (userId == 1) {
         if (userId == 1) {
             return Result.error("管理员账户不允许修改!");
             return Result.error("管理员账户不允许修改!");
         }
         }
-        if (password.length() > Constant.PASSWORD_MAX_LEN) {
+        if (password.length() > PASSWORD_MAX_LEN) {
             throw new CustomException("密码最多8位");
             throw new CustomException("密码最多8位");
         }
         }
         SysUserDTO user = userService.queryUserById(userId);
         SysUserDTO user = userService.queryUserById(userId);
@@ -219,6 +199,7 @@ public class UserController {
         userService.reSetPW(user);
         userService.reSetPW(user);
         return Result.OK();
         return Result.OK();
     }
     }
+
     @ApiOperation(value = "在线用户查看")
     @ApiOperation(value = "在线用户查看")
     @GetMapping("/online")
     @GetMapping("/online")
     @RequiresPermissions("online:user:view")
     @RequiresPermissions("online:user:view")
@@ -240,6 +221,7 @@ public class UserController {
         }
         }
         return Result.OK(userDtos);
         return Result.OK(userDtos);
     }
     }
+
     /**
     /**
      * 剔除在线用户
      * 剔除在线用户
      */
      */

+ 1 - 1
src/main/java/com/usky/entity/sys/vo/SysUserVO.java

@@ -28,7 +28,7 @@ public class SysUserVO extends BaseEntity implements Serializable {
     private Integer deptId;
     private Integer deptId;
     @ApiModelProperty("登录名")
     @ApiModelProperty("登录名")
     @NotBlank(message = "登录名不能为空")
     @NotBlank(message = "登录名不能为空")
-    @Size(min = 0, max = 10, message = "登录名称不能超过10个字符")
+    @Size(min = 0, max = 15, message = "登录名称不能超过15个字符")
     private String loginName;
     private String loginName;
     @ApiModelProperty("用户名")
     @ApiModelProperty("用户名")
     private String userName;
     private String userName;

+ 12 - 12
src/main/java/com/usky/exception/GloableExceptionResolver.java

@@ -185,18 +185,18 @@ public class GloableExceptionResolver {
         return HttpStatus.valueOf(statusCode);
         return HttpStatus.valueOf(statusCode);
     }
     }
 
 
-    /**
-     * 捕捉其他所有异常
-     *
-     * @param request
-     * @param ex
-     * @return
-     */
-    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
-    @ExceptionHandler(Exception.class)
-    public Result<?> globalException(HttpServletRequest request, Throwable ex) {
-        return Result.error(this.getStatus(request).value(), ex.toString() + ": " + ex.getMessage());
-    }
+//    /**
+//     * 捕捉其他所有异常
+//     *
+//     * @param request
+//     * @param ex
+//     * @return
+//     */
+//    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
+//    @ExceptionHandler(Exception.class)
+//    public Result<?> globalException(HttpServletRequest request, Throwable ex) {
+//        return Result.error(this.getStatus(request).value(), ex.toString() + ": " + ex.getMessage());
+//    }
 
 
 
 
 }
 }

+ 9 - 0
src/main/java/com/usky/service/sys/RoleService.java

@@ -53,4 +53,13 @@ public interface RoleService {
      * @param roleVO
      * @param roleVO
      */
      */
     void edit(SysRoleVO roleVO);
     void edit(SysRoleVO roleVO);
+
+    /**
+     * 根据用户id查询角色
+     *
+     * @return
+     * @param loginName
+     */
+    List<SysRoleDTO> queryRoleByLoginName(String loginName);
+
 }
 }

+ 22 - 5
src/main/java/com/usky/service/sys/RoleServiceImpl.java

@@ -1,10 +1,7 @@
 package com.usky.service.sys;
 package com.usky.service.sys;
 
 
-import com.sun.org.apache.xpath.internal.operations.Gte;
 import com.usky.annotion.DataScope;
 import com.usky.annotion.DataScope;
 import com.usky.dao.impl.BaseDaoImpl;
 import com.usky.dao.impl.BaseDaoImpl;
-import com.usky.entity.BaseEntity;
-import com.usky.entity.sys.SysDeptDTO;
 import com.usky.entity.sys.SysRoleDTO;
 import com.usky.entity.sys.SysRoleDTO;
 import com.usky.entity.sys.SysRoleDeptDTO;
 import com.usky.entity.sys.SysRoleDeptDTO;
 import com.usky.entity.sys.SysRoleMenuDTO;
 import com.usky.entity.sys.SysRoleMenuDTO;
@@ -14,7 +11,6 @@ import com.usky.utils.BeanHelp;
 import com.usky.utils.Page;
 import com.usky.utils.Page;
 
 
 import com.usky.utils.ShiroUtils;
 import com.usky.utils.ShiroUtils;
-import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.hibernate.query.NativeQuery;
 import org.hibernate.query.NativeQuery;
 import org.hibernate.transform.Transformers;
 import org.hibernate.transform.Transformers;
@@ -54,7 +50,7 @@ public class RoleServiceImpl extends BaseDaoImpl implements RoleService {
                 "\tLEFT JOIN sys_user u ON u.user_id = ur.user_id\n" +
                 "\tLEFT JOIN sys_user u ON u.user_id = ur.user_id\n" +
                 "\tLEFT JOIN sys_dept d ON u.dept_id = d.dept_id where r.del_flag = '0' ");
                 "\tLEFT JOIN sys_dept d ON u.dept_id = d.dept_id where r.del_flag = '0' ");
         if (StringUtils.isNotBlank(status)) {
         if (StringUtils.isNotBlank(status)) {
-            sb.append(" and r.status = '" + startTime + "'");
+            sb.append(" and r.status = '" + status + "'");
         }
         }
         if (StringUtils.isNotBlank(roleName)) {
         if (StringUtils.isNotBlank(roleName)) {
             sb.append(" and r.role_name like '%" + roleName + "%'");
             sb.append(" and r.role_name like '%" + roleName + "%'");
@@ -119,6 +115,7 @@ public class RoleServiceImpl extends BaseDaoImpl implements RoleService {
     @Transactional
     @Transactional
     public void addRole(SysRoleVO roleVO) {
     public void addRole(SysRoleVO roleVO) {
         SysRoleDTO roleDTO = BeanHelp.copyProperties(roleVO, SysRoleDTO.class);
         SysRoleDTO roleDTO = BeanHelp.copyProperties(roleVO, SysRoleDTO.class);
+        roleDTO.setDelFlag("0");
         roleDTO.setCreateBy(ShiroUtils.getLoginName());
         roleDTO.setCreateBy(ShiroUtils.getLoginName());
         roleDTO.setCreateTime(new Timestamp(System.currentTimeMillis()));
         roleDTO.setCreateTime(new Timestamp(System.currentTimeMillis()));
         getSession().save(roleDTO);
         getSession().save(roleDTO);
@@ -160,6 +157,26 @@ public class RoleServiceImpl extends BaseDaoImpl implements RoleService {
         insertRoleDept(roleVO);
         insertRoleDept(roleVO);
     }
     }
 
 
+    @Override
+    @SuppressWarnings("all")
+    public List<SysRoleDTO> queryRoleByLoginName(String loginName) {
+        List list = getSession().createSQLQuery("SELECT\n" +
+                "\tr.role_id AS roleId,\n" +
+                "\tr.role_name AS roleName,\n" +
+                "\tr.role_key AS roleKey,\n" +
+                "\tr.role_sort AS roleSort,\n" +
+                "\tr.`status`,\n" +
+                "\tr.create_by AS createBy,\n" +
+                "\tr.create_time AS createTime\n" +
+                "FROM\n" +
+                "\tsys_role r\n" +
+                "\tLEFT JOIN sys_user_role ur ON r.role_id = ur.role_id\n" +
+                "\tLEFT JOIN sys_user u ON u.user_id = ur.user_id WHERE u.login_name='" + loginName + "'")
+                .setResultTransformer(Transformers.aliasToBean(SysRoleDTO.class)).list();
+               // .setResultTransformer(Transformers.aliasToBean(SysRoleDTO.class)).list();
+        return list;
+    }
+
     /**
     /**
      * 删除角色菜单关联
      * 删除角色菜单关联
      *
      *

+ 6 - 1
src/main/java/com/usky/service/sys/dept/DeptServiceImpl.java

@@ -7,10 +7,12 @@ import com.usky.entity.sys.vo.SysDeptVO;
 import com.usky.entity.ztree.Ztree;
 import com.usky.entity.ztree.Ztree;
 import com.usky.utils.ListUtil;
 import com.usky.utils.ListUtil;
 import com.usky.utils.Result;
 import com.usky.utils.Result;
+import com.usky.utils.ShiroUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.hibernate.transform.Transformers;
 import org.hibernate.transform.Transformers;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
@@ -43,7 +45,7 @@ public class DeptServiceImpl extends BaseDaoImpl implements DeptService {
 
 
     @Override
     @Override
     public List<SysDeptDTO> queryDeptByNameAndParentId(SysDeptDTO dept) {
     public List<SysDeptDTO> queryDeptByNameAndParentId(SysDeptDTO dept) {
-        return (List<SysDeptDTO>) getSession().createQuery("from SysDeptDTO t where t.deptName='" + dept.getDeptName() + "' and t.parentId=" + dept.getDeptId() + "").list();
+        return (List<SysDeptDTO>) getSession().createQuery("from SysDeptDTO t where t.deptName='" + dept.getDeptName() + "' and t.parentId=" + dept.getParentId() + "").list();
     }
     }
 
 
     /**
     /**
@@ -59,6 +61,9 @@ public class DeptServiceImpl extends BaseDaoImpl implements DeptService {
             Result.error("部门已停用无法添加!");
             Result.error("部门已停用无法添加!");
         }
         }
         dept.setAncestors(parent.getAncestors() + "," + dept.getParentId());
         dept.setAncestors(parent.getAncestors() + "," + dept.getParentId());
+        dept.setDelFlag("0");
+        dept.setCreateBy(ShiroUtils.getSysUserVo().getLoginName());
+        dept.setCreateTime(new Timestamp(System.currentTimeMillis()));
         getSession().save(dept);
         getSession().save(dept);
         return Result.OK();
         return Result.OK();
     }
     }

+ 2 - 10
src/main/java/com/usky/service/sys/user/UserServiceImpl.java

@@ -32,20 +32,12 @@ public class UserServiceImpl extends BaseDaoImpl implements UserService {
     @Transactional
     @Transactional
     public void addUser(SysUserVO user) {
     public void addUser(SysUserVO user) {
         SysUserDTO sysUserDTO = BeanHelp.copyProperties(user, SysUserDTO.class);
         SysUserDTO sysUserDTO = BeanHelp.copyProperties(user, SysUserDTO.class);
-//        String password = sysUserDTO.getPassword();
-//        String salt = oConvertUtils.randomGen(8);
-//        String passwordEncode = PasswordUtil.encrypt(sysUserDTO.getLoginName(), password, salt);
-//        sysUserDTO.setSalt(salt);
-//        //    Md5Hash md5Hash = new Md5Hash(password, salt); //模拟md5加密一次
-//        sysUserDTO.setPassword(passwordEncode);
-
         //用户类型
         //用户类型
         sysUserDTO.setUserType("01");
         sysUserDTO.setUserType("01");
         sysUserDTO.setDelFlag("0");
         sysUserDTO.setDelFlag("0");
         sysUserDTO.setCreateBy(ShiroUtils.getLoginName());
         sysUserDTO.setCreateBy(ShiroUtils.getLoginName());
         sysUserDTO.setCreateTime(new Timestamp(System.currentTimeMillis()));
         sysUserDTO.setCreateTime(new Timestamp(System.currentTimeMillis()));
         getSession().save(sysUserDTO);
         getSession().save(sysUserDTO);
-
         insertUserRole(sysUserDTO.getUserId(), user.getRoleIds());
         insertUserRole(sysUserDTO.getUserId(), user.getRoleIds());
     }
     }
 
 
@@ -115,10 +107,10 @@ public class UserServiceImpl extends BaseDaoImpl implements UserService {
             sb.append(" AND u.phonenumber like '%" + phonenumber + "%'");
             sb.append(" AND u.phonenumber like '%" + phonenumber + "%'");
         }
         }
         if (StringUtils.isNotBlank(startTime)) {
         if (StringUtils.isNotBlank(startTime)) {
-            sb.append(" AND u.create_time >= " + startTime + "");
+            sb.append(" AND u.create_time >= '" + startTime + "'");
         }
         }
         if (StringUtils.isNotBlank(endTime)) {
         if (StringUtils.isNotBlank(endTime)) {
-            sb.append("  AND u.create_time <= " + endTime + "");
+            sb.append("  AND u.create_time <= '" + endTime + "'");
         }
         }
         if (null != deptId && deptId != 0) {
         if (null != deptId && deptId != 0) {
             sb.append("AND (u.dept_id = " + deptId + " OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET (" + deptId + ",ancestors) ))");
             sb.append("AND (u.dept_id = " + deptId + " OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET (" + deptId + ",ancestors) ))");

+ 18 - 2
src/main/java/com/usky/utils/ShiroUtils.java

@@ -1,9 +1,11 @@
 package com.usky.utils;
 package com.usky.utils;
 
 
 import com.usky.constant.Constant;
 import com.usky.constant.Constant;
+import com.usky.entity.sys.SysRoleDTO;
 import com.usky.entity.sys.SysUserDTO;
 import com.usky.entity.sys.SysUserDTO;
 import com.usky.entity.sys.vo.SysUserVO;
 import com.usky.entity.sys.vo.SysUserVO;
 import com.usky.exception.CustomException;
 import com.usky.exception.CustomException;
+import com.usky.service.sys.RoleService;
 import com.usky.service.sys.user.UserService;
 import com.usky.service.sys.user.UserService;
 import com.usky.utils.jwt.JwtUtil;
 import com.usky.utils.jwt.JwtUtil;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.SecurityUtils;
@@ -16,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PostConstruct;
+import java.util.List;
+import java.util.Set;
 
 
 @Component
 @Component
 public class ShiroUtils {
 public class ShiroUtils {
@@ -28,6 +32,15 @@ public class ShiroUtils {
         redisUtil = redisUtil2;
         redisUtil = redisUtil2;
     }
     }
 
 
+    private static RoleService roleService;
+    @Autowired
+    private RoleService roleService2;
+
+    @PostConstruct
+    public void beforeInit2() {
+        roleService = roleService2;
+    }
+
     private static UserService userService;
     private static UserService userService;
     @Autowired
     @Autowired
     private UserService userService2;
     private UserService userService2;
@@ -48,8 +61,8 @@ public class ShiroUtils {
     public static void logout() {
     public static void logout() {
         SysUserVO sysUserVo = getSysUserVo();
         SysUserVO sysUserVo = getSysUserVo();
 
 
-        if (redisUtil.hasKey(Constant.PREFIX_SHIRO_ACCESS_TOKEN + sysUserVo.getLoginName())) {
-            redisUtil.del(Constant.PREFIX_SHIRO_ACCESS_TOKEN + sysUserVo.getLoginName());
+        if (redisUtil.hasKey(Constant.PREFIX_SHIRO_REFRESH_TOKEN + sysUserVo.getLoginName())) {
+            redisUtil.del(Constant.PREFIX_SHIRO_REFRESH_TOKEN + sysUserVo.getLoginName());
         } else {
         } else {
             throw new CustomException("剔除失败,token不存在");
             throw new CustomException("剔除失败,token不存在");
         }
         }
@@ -71,6 +84,9 @@ public class ShiroUtils {
             String token = (String) getSubject().getPrincipal();
             String token = (String) getSubject().getPrincipal();
             String loginName = JwtUtil.getClaim(token, Constant.ACCOUNT);
             String loginName = JwtUtil.getClaim(token, Constant.ACCOUNT);
             user = userService.queryuserByLoginName(loginName);
             user = userService.queryuserByLoginName(loginName);
+            List<SysRoleDTO> roleDTOList = roleService.queryRoleByLoginName(loginName);
+            user.setRoles(roleDTOList);
+
         } else {
         } else {
             throw new AuthenticationException("token为空!");
             throw new AuthenticationException("token为空!");
         }
         }

+ 1 - 1
src/main/resources/application.yml

@@ -4,7 +4,7 @@ server:
 spring:
 spring:
   redis:
   redis:
     database: 1
     database: 1
-    #host: 47.111.81.118
+   # host: 47.111.81.118
     host: 172.16.120.184
     host: 172.16.120.184
     lettuce:
     lettuce:
       pool:
       pool:

+ 3 - 1
src/main/resources/config.properties

@@ -7,4 +7,6 @@ accessTokenExpireTime=1800
 # RefreshToken过期时间-30分钟-30*60(秒为单位)
 # RefreshToken过期时间-30分钟-30*60(秒为单位)
 refreshTokenExpireTime=1800
 refreshTokenExpireTime=1800
 # Shiro缓存过期时间-5分钟-5*60(秒为单位)(一般设置与AccessToken过期时间一致)
 # Shiro缓存过期时间-5分钟-5*60(秒为单位)(一般设置与AccessToken过期时间一致)
-shiroCacheExpireTime=1800
+shiroCacheExpireTime=1800
+#密码长度
+passwordMaxLen=8