瀏覽代碼

登录用户去掉时间戳 单客户端只能一个用户登录。

小么熊🐻 1 年之前
父節點
當前提交
e227243f98

+ 5 - 0
nbjk-framework/src/main/java/com/miaxis/framework/security/handle/LogoutSuccessHandlerImpl.java

@@ -5,6 +5,7 @@ import com.miaxis.common.constant.Constants;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.domain.ResponseEnum;
 import com.miaxis.common.core.domain.model.LoginUser;
+import com.miaxis.common.core.redis.RedisCache;
 import com.miaxis.common.utils.ServletUtils;
 import com.miaxis.common.utils.StringUtils;
 import com.miaxis.framework.manager.AsyncManager;
@@ -31,6 +32,8 @@ public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    private RedisCache redisCache;
     /**
      * 退出处理
      *
@@ -46,6 +49,8 @@ public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler
             String userName = loginUser.getUsername();
             // 删除用户缓存记录
             tokenService.delLoginUser(loginUser.getToken());
+            // 删除用户缓存标记
+            redisCache.deleteObject(loginUser.getId());
             // 记录用户退出日志
             AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, ResponseEnum.LOGOUT_SUCCESS.getMessage()));
         }

+ 2 - 3
nbjk-framework/src/main/java/com/miaxis/framework/web/service/TokenService.java

@@ -152,17 +152,16 @@ public class TokenService
         // 根据uuid将loginUser缓存
         String userKey = getTokenKey(loginUser.getToken());
         //如果不是系统用户
-        //if (loginUser.getUser()== null){
+        // if (loginUser.getUser()== null){
             String key = redisCache.getCacheObject(loginUser.getId());
             if (key != null){
                 redisCache.deleteObject(key);
             }
-       // }
+      //  }
         //保存用户key(方便以后查找用户信息)
         redisCache.setCacheObject(loginUser.getId(),userKey, expireTime,TimeUnit.MINUTES);
         //保存JWT用户信息
         redisCache.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
-
     }