From 1e4b4f686f4462786c75b9a9f2cd59f29d8b2140 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 22 八月 2024 14:05:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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