This commit is contained in:
zhou-hao
2019-10-17 19:13:34 +08:00
parent 9d206c0580
commit 4c19aba069
9 changed files with 43 additions and 27 deletions

View File

@@ -43,7 +43,7 @@ public class AopAuthorizingController extends StaticMethodMatcherPointcutAdvisor
@Autowired
private AopMethodAuthorizeDefinitionParser aopMethodAuthorizeDefinitionParser;
private DefaultAopMethodAuthorizeDefinitionParser defaultParser = new DefaultAopMethodAuthorizeDefinitionParser();
// private DefaultAopMethodAuthorizeDefinitionParser defaultParser = new DefaultAopMethodAuthorizeDefinitionParser();
private boolean autoParse = false;
@@ -209,7 +209,7 @@ public class AopAuthorizingController extends StaticMethodMatcherPointcutAdvisor
|| AnnotationUtils.findAnnotation(aClass, method, Authorize.class) != null;
if (support && autoParse) {
defaultParser.parse(aClass, method);
aopMethodAuthorizeDefinitionParser.parse(aClass, method);
}
return support;
}
@@ -217,13 +217,14 @@ public class AopAuthorizingController extends StaticMethodMatcherPointcutAdvisor
@Override
public void run(String... args) throws Exception {
if (autoParse) {
List<AuthorizeDefinition> definitions = defaultParser.getAllParsed()
.stream().filter(def -> !def.isEmpty())
List<AuthorizeDefinition> definitions = aopMethodAuthorizeDefinitionParser.getAllParsed()
.stream()
.filter(def -> !def.isEmpty())
.collect(Collectors.toList());
log.info("publish AuthorizeDefinitionInitializedEvent,definition size:{}", definitions.size());
eventPublisher.publishEvent(new AuthorizeDefinitionInitializedEvent(definitions));
defaultParser.destroy();
// defaultParser.destroy();
}
}

View File

@@ -1,5 +1,6 @@
package org.hswebframework.web.authorization.basic.define;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.*;
import org.hswebframework.web.authorization.annotation.*;
import org.hswebframework.web.authorization.define.*;
@@ -24,8 +25,11 @@ import java.util.stream.Collectors;
@ToString
public class DefaultBasicAuthorizeDefinition implements AopAuthorizeDefinition {
@JsonIgnore
private Class targetClass;
@JsonIgnore
private Method targetMethod;
private ResourcesDefinition resources = new ResourcesDefinition();