优化权限控制逻辑

This commit is contained in:
zhouhao
2018-02-23 11:15:50 +08:00
parent 11d3e907f2
commit 07f4eb4a88
2 changed files with 5 additions and 6 deletions

View File

@@ -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);

View File

@@ -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);