From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 05 二月 2024 11:56:52 +0800 Subject: [PATCH] 更新bug修改 --- cloud-server-account/src/main/java/com/dsh/account/util/TokenUtil.java | 30 ++++++++++++++++++++++++++---- 1 files changed, 26 insertions(+), 4 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..79e4f80 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,21 +14,41 @@ 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); String key = null; int length = requestHeader.length(); - if(length > 32){ + if (length > 32) { key = requestHeader.substring(length - 32); - }else{ + } else { key = requestHeader; } String value = redisUtil.getValue(key); return null != value ? Integer.valueOf(value) : null; - }else{ + } else { 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