From 4f317b76fa605d540e48dce499f747e4d5342ac1 Mon Sep 17 00:00:00 2001 From: xuguang Date: Mon, 27 Dec 2021 16:35:22 +0800 Subject: [PATCH] =?UTF-8?q?SpringTool.getUserName()=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E4=B8=AD=E8=8E=B7=E5=8F=96requestAttributes=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E4=B8=BAnull,=20=E5=A2=9E=E5=8A=A0=E4=B8=BAnull=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/common/utils/SpringTool.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/SpringTool.java b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/SpringTool.java index 50723ebf..d9cefe59 100644 --- a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/SpringTool.java +++ b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/SpringTool.java @@ -13,6 +13,7 @@ import org.springframework.context.ApplicationEvent; import org.springframework.context.annotation.Lazy; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -81,16 +82,19 @@ public class SpringTool implements ApplicationContextAware, DisposableBean { } public static String getUserName(){ - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String username = null; - if (TrickLoginConstant.TRICK_LOGIN_SWITCH_ON.equals(request.getHeader(TrickLoginConstant.TRICK_LOGIN_SWITCH))) { - // trick登录方式的获取用户 - username = request.getHeader(TrickLoginConstant.TRICK_LOGIN_USER); - } else { - // 走页面登录方式登录的获取用户 - HttpSession session = request.getSession(); - username = (String) session.getAttribute(LoginConstant.SESSION_USERNAME_KEY); + RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); + if (!ValidateUtils.isNull(requestAttributes)) { + HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); + + if (TrickLoginConstant.TRICK_LOGIN_SWITCH_ON.equals(request.getHeader(TrickLoginConstant.TRICK_LOGIN_SWITCH))) { + // trick登录方式的获取用户 + username = request.getHeader(TrickLoginConstant.TRICK_LOGIN_USER); + } else { + // 走页面登录方式登录的获取用户 + HttpSession session = request.getSession(); + username = (String) session.getAttribute(LoginConstant.SESSION_USERNAME_KEY); + } } if (ValidateUtils.isNull(username)) {