From ff169f9a0417b73f0afac554cf2f9d048ac56c80 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 19 八月 2024 20:57:08 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 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 2d7cae5..2cdbed5 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.user.UserAppletException; import com.ruoyi.system.api.model.LoginUserApplet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -35,6 +36,7 @@ protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND; private final static long expireTime = CacheConstants.EXPIRATION; + private final static long expireAppletTime = CacheConstants.EXPIRATION_APPLET; private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY; @@ -58,6 +60,7 @@ Map<String, Object> claimsMap = new HashMap<String, Object>(); claimsMap.put(SecurityConstants.USER_KEY, token); claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); + claimsMap.put(SecurityConstants.USER_TYPE, "system"); claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); // 接口返回信息 @@ -71,7 +74,7 @@ */ public Map<String, Object> createTokenApplet(LoginUserApplet loginUser) { String token = IdUtils.fastUUID(); - Integer userId = loginUser.getUserid(); + Long userId = loginUser.getUserId(); String name = loginUser.getName(); loginUser.setToken(token); loginUser.setIpaddr(IpUtils.getIpAddr()); @@ -80,15 +83,20 @@ Map<String, Object> claimsMap = new HashMap<String, Object>(); claimsMap.put(SecurityConstants.USER_APPLET_KEY, token); claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); + claimsMap.put(SecurityConstants.USER_TYPE, "applet"); claimsMap.put(SecurityConstants.DETAILS_USERNAME, name); // 接口返回信息 Map<String, Object> rspMap = new HashMap<String, Object>(); rspMap.put("access_token", JwtUtils.createToken(claimsMap)); - rspMap.put("expires_in", expireTime); + rspMap.put("expires_in", expireAppletTime); return rspMap; } public LoginUserApplet getLoginUserApplet() { - return getLoginUserAppletToken(ServletUtils.getRequest()); + LoginUserApplet loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest()); + if (loginUserAppletToken == null){ + throw new UserAppletException("登录失效,请重新登录!", 401); + } + return loginUserAppletToken; } public LoginUserApplet getLoginUserAppletToken(HttpServletRequest request) { // 获取请求携带的令牌 @@ -104,8 +112,8 @@ LoginUserApplet user = null; try { if (StringUtils.isNotEmpty(token)) { - String userkey = JwtUtils.getUserKeyApplet(token); - user = redisService.getCacheObject(getTokenKey(userkey)); + String userKey = JwtUtils.getUserKeyApplet(token); + user = redisService.getCacheObject(getTokenKey(userKey)); return user; } } catch (Exception e) { -- Gitblit v1.7.1