From 7efc0e9cbd23c615cb8a2fe7fa7f4f2f83bfb838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A6=82=E6=A2=A6=E6=8A=80=E6=9C=AF?= <596392129@qq.com> Date: Mon, 24 Dec 2018 12:32:40 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/core/secure/utils/SecureUtil.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/blade-core-secure/src/main/java/org/springblade/core/secure/utils/SecureUtil.java b/blade-core-secure/src/main/java/org/springblade/core/secure/utils/SecureUtil.java index 81d258b..cc7d53c 100644 --- a/blade-core-secure/src/main/java/org/springblade/core/secure/utils/SecureUtil.java +++ b/blade-core-secure/src/main/java/org/springblade/core/secure/utils/SecureUtil.java @@ -37,6 +37,7 @@ import java.util.Map; * Secure工具类 */ public class SecureUtil { + public static final String BLADE_USER_REQUEST_ATTR = "_BLADE_USER_REQUEST_ATTR_"; public final static String header = "Authorization"; public final static String bearer = "bearer"; @@ -53,7 +54,17 @@ public class SecureUtil { * @return */ public static BladeUser getUser() { - return getUser(WebUtil.getRequest()); + HttpServletRequest request = WebUtil.getRequest(); + // 优先从 request 中获取 + BladeUser bladeUser = (BladeUser) request.getAttribute(BLADE_USER_REQUEST_ATTR); + if (bladeUser == null) { + bladeUser = getUser(request); + if (bladeUser != null) { + // 设置到 request 中 + request.setAttribute(BLADE_USER_REQUEST_ATTR, bladeUser); + } + } + return bladeUser; } /**