From 07f4eb4a88f00aeaccdf2fee93cb7e423c732110 Mon Sep 17 00:00:00 2001 From: zhouhao Date: Fri, 23 Feb 2018 11:15:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorization/basic/aop/AopAuthorizingController.java | 4 ++-- .../aop/DefaultAopMethodAuthorizeDefinitionParser.java | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/AopAuthorizingController.java b/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/AopAuthorizingController.java index e591811f1..14116886c 100644 --- a/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/AopAuthorizingController.java +++ b/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/AopAuthorizingController.java @@ -51,8 +51,8 @@ public class AopAuthorizingController extends StaticMethodMatcherPointcutAdvisor MethodInterceptorContext paramContext = holder.createParamContext(); - AuthorizeDefinition definition = aopMethodAuthorizeDefinitionParser.parse(methodInvocation.getThis().getClass(), methodInvocation.getMethod()); - Object result = true; + AuthorizeDefinition definition = aopMethodAuthorizeDefinitionParser.parse(methodInvocation.getThis().getClass(), methodInvocation.getMethod(), paramContext); + Object result = null; boolean isControl = false; if (null != definition) { Authentication authentication = Authentication.current().orElseThrow(UnAuthorizedException::new); diff --git a/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/DefaultAopMethodAuthorizeDefinitionParser.java b/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/DefaultAopMethodAuthorizeDefinitionParser.java index b6f080a98..6f9de3e8c 100644 --- a/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/DefaultAopMethodAuthorizeDefinitionParser.java +++ b/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/aop/DefaultAopMethodAuthorizeDefinitionParser.java @@ -52,7 +52,7 @@ public class DefaultAopMethodAuthorizeDefinitionParser implements AopMethodAutho CacheKey key = buildCacheKey(target, method); AuthorizeDefinition definition = cache.get(key); - if ((definition instanceof EmptyAuthorizeDefinition)) { + if (definition instanceof EmptyAuthorizeDefinition) { return null; } if (null != definition) { @@ -64,10 +64,9 @@ public class DefaultAopMethodAuthorizeDefinitionParser implements AopMethodAutho .map(customer -> customer.parse(target, method, context)) .filter(Objects::nonNull) .findAny().orElse(null); - if (definition == null || definition instanceof EmptyAuthorizeDefinition) { - return null; + if (definition != null && !(definition instanceof EmptyAuthorizeDefinition)) { + return definition; } - } Authorize classAuth = AopUtils.findAnnotation(target, Authorize.class); Authorize methodAuth = AopUtils.findMethodAnnotation(target, method, Authorize.class);