From b885ab71054605cbf46cac7b7199c1a1d543ddef Mon Sep 17 00:00:00 2001 From: zhangtianyu Date: Thu, 12 May 2022 12:52:25 +0800 Subject: [PATCH] =?UTF-8?q?@PerBuildUser=E6=94=AF=E6=8C=81=E5=9C=A8class?= =?UTF-8?q?=E4=B8=8A=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/auth/annotation/PreBuildUser.java | 2 +- .../auth/service/BuilderUserInfoAspect.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/annotation/PreBuildUser.java b/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/annotation/PreBuildUser.java index f1337ec..d313ce6 100644 --- a/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/annotation/PreBuildUser.java +++ b/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/annotation/PreBuildUser.java @@ -4,7 +4,7 @@ import cn.axzo.framework.auth.domain.RequestInfo; import java.lang.annotation.*; -@Target({ElementType.METHOD}) +@Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface PreBuildUser { diff --git a/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/service/BuilderUserInfoAspect.java b/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/service/BuilderUserInfoAspect.java index f845333..64db73a 100644 --- a/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/service/BuilderUserInfoAspect.java +++ b/axzo-auth-spring-boot-starter/src/main/java/cn/axzo/framework/auth/service/BuilderUserInfoAspect.java @@ -37,8 +37,19 @@ import java.util.Objects; @Component public class BuilderUserInfoAspect { + @Around(value = "@within(preBuildUser)") + public Object classHandler(ProceedingJoinPoint pjp, PreBuildUser preBuildUser){ + return handle(pjp, preBuildUser); + } + @Around(value = "@annotation(preBuildUser)") - public Object methodHandler(ProceedingJoinPoint pjp, PreBuildUser preBuildUser) throws Throwable { + public Object methodHandler(ProceedingJoinPoint pjp, PreBuildUser preBuildUser){ + return handle(pjp, preBuildUser); + + } + + @SneakyThrows + public Object handle(ProceedingJoinPoint pjp, PreBuildUser preBuildUser) { HttpServletRequest httpRequest = null; try { //获取request @@ -54,6 +65,7 @@ public class BuilderUserInfoAspect { }finally { UserInfoHolder.clear(); } + } public void fillInUserInfoDetail(HttpServletRequest request, ProceedingJoinPoint pjp, Class requestInfoClass) {