From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 26 十月 2023 18:04:58 +0800 Subject: [PATCH] 修改bug --- 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