From 668202050b7d4f17ffe2cefcb1dd2fe9ef7ad00b Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期四, 16 十一月 2023 13:38:27 +0800
Subject: [PATCH] 登录检测

---
 src/main/java/com/whyc/service/UserInfService.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/UserInfService.java b/src/main/java/com/whyc/service/UserInfService.java
index 0448ef4..5a96d32 100644
--- a/src/main/java/com/whyc/service/UserInfService.java
+++ b/src/main/java/com/whyc/service/UserInfService.java
@@ -20,6 +20,7 @@
 
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -117,6 +118,7 @@
         }
         //鐧诲綍鎴愬姛
         ServletContext servletContext = request.getServletContext();
+        //鐧诲綍鎴愬姛
         servletContext.setAttribute(uname, request.getSession().getId());
         //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃
         UserInf userDB = (UserInf) subject.getPrincipal();
@@ -170,4 +172,28 @@
         int flag= mapper.update(null,wrapper);
         return new Response().set(1,flag>0,flag>0?"韬唤鍙樻洿鎴愬姛":"韬唤鍙樻洿澶辫触");
     }
+    //鐧诲綍妫�娴�
+    public Response checkUserWebSocket(HttpSession httpSession){
+        Response model = new Response();
+        try {
+            UserInf user = (UserInf) httpSession.getAttribute("user");
+            if(user!=null){
+                String sessionId = (String) httpSession.getServletContext().getAttribute(user.getUname());
+                if(httpSession.getId().equals(sessionId)){
+                    model.set(1,user,null);
+                }else{
+                    model.set(1,false,"涓嶅悓涓绘満鐧诲綍");
+                    //鐢ㄦ埛鍦ㄥ叾浠栦富鏈虹櫥褰�,寮鸿揩鐢ㄦ埛鍦ㄦ湰鏈虹殑session澶辨晥
+                    httpSession.invalidate();
+                }
+            }
+            else {
+                model.set(1,false,"鐢ㄦ埛淇℃伅澶辨晥,璇烽噸鏂扮櫥褰�");
+            }
+
+        }catch (Exception e){
+            model.set(1,false,"鐧诲綍淇℃伅澶辨晥,閲嶆柊鐧诲綍");
+        }
+        return model;
+    }
 }

--
Gitblit v1.9.1