From f7f8e9cc7de686fe3e8ef424f1d50fa821255449 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期六, 23 一月 2021 17:30:48 +0800 Subject: [PATCH] update --- src/main/java/com/whyc/filter/KickedOutFilter.java | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/whyc/filter/KickedOutFilter.java b/src/main/java/com/whyc/filter/KickedOutFilter.java index 858a11d..3fb0272 100644 --- a/src/main/java/com/whyc/filter/KickedOutFilter.java +++ b/src/main/java/com/whyc/filter/KickedOutFilter.java @@ -2,7 +2,10 @@ import com.whyc.pojo.User; import com.whyc.util.ShiroUtil; +import org.redisson.api.RedissonClient; +import org.springframework.beans.factory.annotation.Autowired; +import javax.annotation.Resource; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; @@ -15,6 +18,9 @@ @WebFilter(urlPatterns = "/*",filterName = "kickedOutFilter") public class KickedOutFilter implements Filter { + @Autowired + RedissonClient redissonClient; + @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpSession session = ((HttpServletRequest) request).getSession(); @@ -23,7 +29,7 @@ User user = ShiroUtil.getUser(); if (user.getId() != 0) { System.out.println("Filter杩囨护鍣ㄤ腑鑾峰彇鍒扮殑褰撳墠Session鐨凷essionId涓�:" + session.getId()); - if (!request.getServletContext().getAttribute(user.getName()).equals(session.getId())) { + if (!redissonClient.getBucket(user.getName()).get().equals(session.getId())) { //濡傛灉褰撳墠Session鎵�瀵瑰簲鐨凷essionId涓庡叏灞�涓敤鎴峰搴旂殑SessionId涓嶄竴鑷�,鍒欐竻闄ゅ綋鍓峉ession session.invalidate(); response.setContentType("text/html;charset=utf-8"); -- Gitblit v1.9.1