From c490ec515f1eb78ed21c9e9b5661ea88573af112 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Sun, 29 Sep 2024 13:03:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E9=89=B4=E6=9D=83=EF=BC=8C?= =?UTF-8?q?=E7=BD=91=E9=A1=B5=E4=B8=8B=E6=8B=89=E4=B8=8D=E9=89=B4=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/aspect/PreAuthorizeAspect.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/aspect/PreAuthorizeAspect.java b/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/aspect/PreAuthorizeAspect.java index 33dd763..ff3c219 100644 --- a/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/aspect/PreAuthorizeAspect.java +++ b/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/aspect/PreAuthorizeAspect.java @@ -60,10 +60,10 @@ public class PreAuthorizeAspect public Object around(ProceedingJoinPoint joinPoint) throws Throwable { //获取请求参数 + boolean needPermission = true; Object[] args = joinPoint.getArgs(); String argStr = JSON.toJSONString(args); JSONArray jsonArray = JSONUtil.parseArray(argStr); - boolean needPermission = true; for (int i = 0; i < jsonArray.size(); i++) { Object obj = jsonArray.getObj(i); if (Objects.nonNull(obj) && obj instanceof JSONObject) { @@ -75,10 +75,9 @@ public class PreAuthorizeAspect } // 注解鉴权 - if (needPermission) { - MethodSignature signature = (MethodSignature) joinPoint.getSignature(); - checkMethodAnnotation(signature.getMethod()); - } + MethodSignature signature = (MethodSignature) joinPoint.getSignature(); + checkMethodAnnotation(signature.getMethod(), needPermission); + try { // 执行原有逻辑 @@ -94,7 +93,7 @@ public class PreAuthorizeAspect /** * 对一个Method对象进行注解检查 */ - public void checkMethodAnnotation(Method method) + public void checkMethodAnnotation(Method method, boolean needPermission) { // 校验 @RequiresLogin 注解 RequiresLogin requiresLogin = method.getAnnotation(RequiresLogin.class); @@ -111,10 +110,11 @@ public class PreAuthorizeAspect } // 校验 @RequiresPermissions 注解 - RequiresPermissions requiresPermissions = method.getAnnotation(RequiresPermissions.class); - if (requiresPermissions != null) - { - AuthUtil.checkPermi(requiresPermissions); + if (needPermission) { + RequiresPermissions requiresPermissions = method.getAnnotation(RequiresPermissions.class); + if (requiresPermissions != null) { + AuthUtil.checkPermi(requiresPermissions); + } } } }