diff --git a/axzo-common-data-permission/src/main/java/cn/axzo/framework/datapermission/aop/DataPermissionInterceptor.java b/axzo-common-data-permission/src/main/java/cn/axzo/framework/datapermission/aop/DataPermissionInterceptor.java index 0a0937d..f3d510d 100644 --- a/axzo-common-data-permission/src/main/java/cn/axzo/framework/datapermission/aop/DataPermissionInterceptor.java +++ b/axzo-common-data-permission/src/main/java/cn/axzo/framework/datapermission/aop/DataPermissionInterceptor.java @@ -82,7 +82,7 @@ public class DataPermissionInterceptor { @SneakyThrows public Object classHandler(ProceedingJoinPoint pjp, DataPermission dataPermission, RestController restController) { handle(dataPermission); - return pjp.proceed(pjp.getArgs()); + return proceed(pjp); } /** @@ -92,7 +92,17 @@ public class DataPermissionInterceptor { @SneakyThrows public Object methodHandler(ProceedingJoinPoint pjp, DataPermission dataPermission) { handle(dataPermission); - return pjp.proceed(pjp.getArgs()); + return proceed(pjp); + } + + private static Object proceed(ProceedingJoinPoint pjp) throws Throwable { + Object result; + try { + result = pjp.proceed(pjp.getArgs()); + } finally { + ContextInfoHolder.clear(); + } + return result; } @AfterThrowing(value = "(@within(cn.axzo.framework.datapermission.annotation.DataPermission) && @within(org.springframework.web.bind.annotation.RestController)) " +