diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index 547b86a..86d2392 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -174,7 +174,7 @@ public class SysLoginService AsyncManager.me().execute(AsyncFactory.recordLogininfor(appUser.getName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); recordLoginInfo(appUser); // 生成token //tokenSiteService.noExpireCreateToken(loginSiteUser); - return tokenSiteService.createToken(loginSiteUser); + return tokenSiteService.createTokenHourTwo(loginSiteUser); } //单点登录 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java index 2ff0fd3..f6709a4 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java @@ -45,6 +45,12 @@ public class TokenSiteService @Value("${token.expireTime}") private int expireTime; + //token过期时间为2小时 + protected static final int TOKEN_TIME_OUTIME =120;//超时120 + + //刷新token时间为7天 + protected static final int REFRESH_TOKEN_OUTIME =7; + protected static final long MILLIS_SECOND = 1000; protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND; @@ -130,6 +136,29 @@ public class TokenSiteService return createToken(claims); } + /** + * 超时时间为2个小时 + * @param LoginSiteUser + * @return + */ + public String createTokenHourTwo(LoginSiteUser LoginSiteUser) + { + String token = IdUtils.fastUUID(); + LoginSiteUser.setToken(token); + setUserAgent(LoginSiteUser); + refreshToken(LoginSiteUser); + + Map claims = new HashMap<>(); + claims.put(Constants.APP_LOGIN_USER_KEY, token); + claims.put(Constants.APP_LOGIN_USER_ID, LoginSiteUser.getUserId()); + // 当前时间 + 120 分钟 + long currentTimeMillis = System.currentTimeMillis(); + long expireTimeMillis = currentTimeMillis + ((long) TOKEN_TIME_OUTIME * 60 * 1000); // 12分钟 = 1800000 毫秒 + long expireTimeSeconds = expireTimeMillis / 1000; // 转换为秒(时间戳) + claims.put(Constants.EXP, expireTimeSeconds); + return createToken(claims); + } + /** * 设置不过期token * @param LoginSiteUser @@ -174,7 +203,7 @@ public class TokenSiteService LoginSiteUser.setExpireTime(LoginSiteUser.getLoginTime() + expireTime * MILLIS_MINUTE); // 根据uuid将LoginSiteUser缓存 String userKey = getTokenKey(LoginSiteUser.getToken(), String.valueOf(LoginSiteUser.getUserId())); - //redisCache.setCacheObject(userKey, LoginSiteUser, expireTime, TimeUnit.MINUTES); + redisCache.setCacheObject(userKey, LoginSiteUser, REFRESH_TOKEN_OUTIME, TimeUnit.DAYS); redisCache.setCacheObject(userKey, LoginSiteUser); }