浏览代码

优化退出登录

shuzheng 9 年之前
父节点
当前提交
4cd1e27b2c

+ 0 - 18
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/server/controller/SSOController.java

@@ -187,24 +187,6 @@ public class SSOController extends BaseController {
 	public String logout(HttpServletRequest request, HttpServletResponse response) {
 		// shiro退出登录
 		SecurityUtils.getSubject().logout();
-
-		Subject subject = SecurityUtils.getSubject();
-		String serverSessionId = subject.getSession().getId().toString();
-		// 当前全局会话token
-		String token = RedisUtil.get(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
-		// 清除全局会话
-		RedisUtil.remove(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
-		// 清除token校验值
-		RedisUtil.remove(ZHENG_UPMS_SERVER_TOKEN + "_" + token);
-		// 清除所有局部会话
-		Jedis jedis = RedisUtil.getJedis();
-		Set<String> clientSessionIds = jedis.smembers(ZHENG_UPMS_CLIENT_SESSION_IDS + "_" + token);
-		for (String clientSessionId : clientSessionIds) {
-			jedis.del(ZHENG_UPMS_CLIENT_SESSION_ID + "_" + clientSessionId);
-			jedis.srem(ZHENG_UPMS_CLIENT_SESSION_IDS + "_" + token, clientSessionId);
-		}
-		_log.debug("当前token={},对应的注册系统个数:{}个", token, jedis.scard(ZHENG_UPMS_CLIENT_SESSION_IDS + "_" + token));
-        jedis.close();
 		// 跳回原地址
 		String redirectUrl = request.getHeader("Referer");
 		if (null == redirectUrl) {

+ 2 - 2
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/server/shiro/UpmsSessionDao.java

@@ -77,7 +77,7 @@ public class UpmsSessionDao extends EnterpriseCacheSessionDAO {
         // 当前全局会话token
         String token = RedisUtil.get(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
         // 清除全局会话
-        RedisUtil.remove(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
+        // RedisUtil.remove(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
         // 清除token校验值
         RedisUtil.remove(ZHENG_UPMS_SERVER_TOKEN + "_" + token);
         // 清除所有局部会话
@@ -140,7 +140,7 @@ public class UpmsSessionDao extends EnterpriseCacheSessionDAO {
             // 当前全局会话token
             String token = RedisUtil.get(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
             // 清除全局会话
-            RedisUtil.remove(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
+            // RedisUtil.remove(ZHENG_UPMS_SERVER_SESSION_ID + "_" + serverSessionId);
             // 清除token校验值
             RedisUtil.remove(ZHENG_UPMS_SERVER_TOKEN + "_" + token);
             // 清除所有局部会话