From 9048f216a648970915fcbf539afefb61bce25228 Mon Sep 17 00:00:00 2001 From: Parker Date: Thu, 4 Feb 2021 10:42:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=A5=A8=E6=8D=AE=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E7=BB=93=E6=9E=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/opsli/core/utils/UserTokenUtil.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/UserTokenUtil.java b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/UserTokenUtil.java index a9aa8056..d7539a72 100644 --- a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/UserTokenUtil.java +++ b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/UserTokenUtil.java @@ -99,7 +99,7 @@ public class UserTokenUtil { // 如果当前登录开启 数量限制 if(LOGIN_PROPERTIES.getLimitCount() > ACCOUNT_LIMIT_INFINITE){ // 当前用户已存在 Token数量 - Long ticketLen = redisPlugin.sSize(TICKET_PREFIX + ":" + user.getUsername()); + Long ticketLen = redisPlugin.sSize(TICKET_PREFIX + user.getUsername()); if(ticketLen !=null && ticketLen >= LOGIN_PROPERTIES.getLimitCount()){ // 如果是拒绝后者 则直接抛出异常 if(LoginLimitRefuse.AFTER == LOGIN_PROPERTIES.getLimitRefuse()){ @@ -108,7 +108,7 @@ public class UserTokenUtil { } // 如果是拒绝前者 则弹出前者 else { - redisPlugin.sPop(TICKET_PREFIX + ":" + user.getUsername()); + redisPlugin.sPop(TICKET_PREFIX + user.getUsername()); } } } @@ -132,10 +132,10 @@ public class UserTokenUtil { // 在redis存一份 token 是为了防止 人为造假 // 保存用户token - Long saveLong = redisPlugin.sPut(TICKET_PREFIX + ":" + user.getUsername(), signToken); + Long saveLong = redisPlugin.sPut(TICKET_PREFIX + user.getUsername(), signToken); if(saveLong != null && saveLong > 0){ // 设置该用户全部token失效时间, 如果这时又有新设备登录 则续命 - redisPlugin.expire(TICKET_PREFIX + ":" + user.getUsername(), expire); + redisPlugin.expire(TICKET_PREFIX + user.getUsername(), expire); TokenRet tokenRet = new TokenRet(); tokenRet.setToken(signToken); @@ -144,6 +144,8 @@ public class UserTokenUtil { return ResultVo.success(tokenRet); } + }catch (TokenException te){ + throw te; }catch (Exception e){ log.error(e.getMessage() , e); } @@ -199,10 +201,10 @@ public class UserTokenUtil { UserModel user = UserUtil.getUser(userId); if(user != null){ // 删除Token信息 - redisPlugin.sRemove(TICKET_PREFIX + ":" + user.getUsername(), token); + redisPlugin.sRemove(TICKET_PREFIX + user.getUsername(), token); // 如果缓存中 无该用户任何Token信息 则删除用户缓存 - Long size = redisPlugin.sSize(TICKET_PREFIX + ":" + user.getUsername()); + Long size = redisPlugin.sSize(TICKET_PREFIX + user.getUsername()); if(size == null || size == 0L){ // 删除相关信息 UserUtil.refreshUser(user); @@ -235,7 +237,7 @@ public class UserTokenUtil { // 生成MD5 16进制码 用于缩减存储 // 删除相关信息 String username = getUserNameByToken(token); - boolean hashKey = redisPlugin.sHashKey(TICKET_PREFIX + ":" + username, token); + boolean hashKey = redisPlugin.sHashKey(TICKET_PREFIX + username, token); if(!hashKey){ return false; }