From ca5445257b1fdeceddf3fcc2dea18c442023aeb7 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期五, 08 十二月 2023 09:30:36 +0800 Subject: [PATCH] 新街口 --- assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-) diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java index a6676c0..31cf00c 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java @@ -1,6 +1,8 @@ package com.gkhy.assess.framework.shiro.service; import com.gkhy.assess.common.constant.CacheConstant; +import com.gkhy.assess.common.enums.ApproveStatusEnum; +import com.gkhy.assess.common.enums.UserIdentityEnum; import com.gkhy.assess.common.enums.UserStatusEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.JwtTokenUtil; @@ -34,13 +36,18 @@ public void validUser(SysUser sysUser){ if(sysUser==null) { - throw new ApiException("用户不存在"); + throw new AuthenticationException("用户不存在"); } if(UserStatusEnum.DELETED.getCode().equals(sysUser.getDelFlag())){ - throw new ApiException("用户已被删除"); + throw new AuthenticationException("用户已被删除"); } if(UserStatusEnum.DISABLE.getCode().equals(sysUser.getStatus())){ - throw new ApiException("用户已被停用"); + throw new AuthenticationException("用户已被停用"); + } + if(UserIdentityEnum.AGENCY.getCode().equals(sysUser.getIdentity())){ + if(!ApproveStatusEnum.APPROVED.getCode().equals(sysUser.getState())){ + throw new AuthenticationException("机构账户审批还未通过"); + } } } @@ -72,15 +79,17 @@ * @return */ public boolean jwtTokenRefresh(String jwtToken,String username,String passWord){ - String key=redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+JwtTokenUtil.md5Encode(jwtToken)); - String cacheToken= (String) redisUtils.get(key); + String tokenKey=redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+JwtTokenUtil.md5Encode(jwtToken)); + String userKey=redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+username); + String cacheToken= (String) redisUtils.get(tokenKey); if(StringUtils.isNotEmpty(cacheToken)){ // 校验token有效性 if(!JwtTokenUtil.verify(cacheToken,username,passWord)){ String newToken=JwtTokenUtil.sign(username,passWord); // 设置超时时间 - redisUtils.set(key,newToken); - redisUtils.expire(key,JwtTokenUtil.EXPIRATION*2/1000); + redisUtils.set(tokenKey,newToken); + redisUtils.expire(tokenKey,JwtTokenUtil.EXPIRATION*2/1000); + redisUtils.expire(userKey,(JwtTokenUtil.EXPIRATION*2/1000)+2); } return true; } -- Gitblit v1.9.2