From 8c6ed6820e53c27fa40973da285fd39a66424540 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 07 五月 2025 14:03:08 +0800 Subject: [PATCH] 提交等保部分功能修改 --- ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 26 +++++++++++++++++++------- 1 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index 4cce577..432952c 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -5,6 +5,7 @@ import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServletRequest; +import com.ruoyi.common.core.exception.auth.NotLoginException; import com.ruoyi.common.core.exception.user.UserAppletException; import com.ruoyi.system.api.model.LoginUserApplet; import org.springframework.beans.factory.annotation.Autowired; @@ -61,9 +62,12 @@ claimsMap.put(SecurityConstants.USER_TYPE, "system"); claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); + String token1 = JwtUtils.createToken(claimsMap); + String userKey = getUserKey(loginUser.getUserid()); + redisService.setCacheObject(userKey, token1, expireTime, TimeUnit.MINUTES); // 接口返回信息 Map<String, Object> rspMap = new HashMap<String, Object>(); - rspMap.put("access_token", JwtUtils.createToken(claimsMap)); + rspMap.put("access_token", token1); rspMap.put("expires_in", expireTime); return rspMap; } @@ -94,7 +98,7 @@ public LoginUserApplet getLoginUserApplet() { LoginUserApplet loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest()); if (loginUserAppletToken == null) { - throw new UserAppletException("登录失效,请重新登录!", 401); + throw new NotLoginException("令牌已过期,请重新登录!"); } return loginUserAppletToken; } @@ -130,7 +134,11 @@ * @return 用户信息 */ public LoginUser getLoginUser() { - return getLoginUser(ServletUtils.getRequest()); + LoginUser loginUser = getLoginUser(ServletUtils.getRequest()); + if (loginUser == null) { + throw new NotLoginException("令牌已过期,请重新登录!"); + } + return loginUser; } /** @@ -203,19 +211,23 @@ loginUser.setLoginTime(System.currentTimeMillis()); loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE); // 根据uuid将loginUser缓存 - String userKey = getTokenKey(loginUser.getToken()); - redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); + String tokenKey = getTokenKey(loginUser.getToken()); + redisService.setCacheObject(tokenKey, loginUser, expireTime, TimeUnit.MINUTES); } public void refreshToken1(LoginUserApplet dto) { dto.setLoginTime(System.currentTimeMillis()); - dto.setExpireTime(dto.getLoginTime() + expireTime * MILLIS_MINUTE); + dto.setExpireTime(dto.getLoginTime() + expireAppletTime * MILLIS_MINUTE); // 根据uuid将loginUser缓存 String userKey = getTokenKey(dto.getToken()); - redisService.setCacheObject(userKey, dto, expireTime, TimeUnit.MINUTES); + redisService.setCacheObject(userKey, dto, expireAppletTime, TimeUnit.MINUTES); } private String getTokenKey(String token) { return ACCESS_TOKEN + token; } + + private String getUserKey(Long userid) { + return ACCESS_TOKEN + userid; + } } \ No newline at end of file -- Gitblit v1.7.1