From 232d3efb20f87f9c60faeda7bae4bc96e5687bd3 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 11 十月 2023 19:19:47 +0800
Subject: [PATCH] 10.12

---
 cloud-server-account/src/main/java/com/dsh/account/util/TokenUtil.java |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/TokenUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/TokenUtil.java
index 113a990..775a29d 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/TokenUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/TokenUtil.java
@@ -2,6 +2,8 @@
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -12,7 +14,9 @@
     private RedisUtil redisUtil;
 
 
-    public Integer getUserIdFormRedis(HttpServletRequest request) throws Exception {
+    public Integer getUserIdFormRedis() {
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        HttpServletRequest request = servletRequestAttributes.getRequest();
         String requestHeader = request.getHeader("Authorization");
         if (requestHeader != null && requestHeader.startsWith("Bearer ")) {
             requestHeader = requestHeader.substring(requestHeader.indexOf(" ") + 1);
@@ -29,4 +33,22 @@
             return null;
         }
     }
+
+    public void logout() {
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        HttpServletRequest request = servletRequestAttributes.getRequest();
+        String requestHeader = request.getHeader("Authorization");
+        if (requestHeader != null && requestHeader.startsWith("Bearer ")) {
+            requestHeader = requestHeader.substring(requestHeader.indexOf(" ") + 1);
+            String key = null;
+            int length = requestHeader.length();
+            if (length > 32) {
+                key = requestHeader.substring(length - 32);
+            } else {
+                key = requestHeader;
+            }
+            redisUtil.remove(key); // 删除存储在Redis中的对应用户信息
+        }
+    }
+
 }

--
Gitblit v1.7.1