diff --git a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/simple/AuthorizationAutoConfiguration.java b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/simple/DefaultAuthorizationAutoConfiguration.java similarity index 89% rename from hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/simple/AuthorizationAutoConfiguration.java rename to hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/simple/DefaultAuthorizationAutoConfiguration.java index d27db6ed4..262b807c4 100644 --- a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/simple/AuthorizationAutoConfiguration.java +++ b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/simple/DefaultAuthorizationAutoConfiguration.java @@ -1,7 +1,9 @@ package org.hswebframework.web.authorization.simple; import org.hswebframework.web.authorization.Authentication; +import org.hswebframework.web.authorization.AuthenticationHolder; import org.hswebframework.web.authorization.AuthenticationManager; +import org.hswebframework.web.authorization.AuthenticationSupplier; import org.hswebframework.web.authorization.builder.AuthenticationBuilderFactory; import org.hswebframework.web.authorization.builder.DataAccessConfigBuilderFactory; import org.hswebframework.web.authorization.simple.builder.DataAccessConfigConvert; @@ -24,7 +26,7 @@ import java.util.List; * @author zhouhao */ @Configuration -public class AuthorizationAutoConfiguration { +public class DefaultAuthorizationAutoConfiguration { @Autowired(required = false) private List dataAccessConfigConverts; @@ -39,7 +41,9 @@ public class AuthorizationAutoConfiguration { @Bean @ConditionalOnBean(AuthenticationManager.class) public UserTokenAuthenticationSupplier userTokenAuthenticationSupplier(AuthenticationManager authenticationManager) { - return new UserTokenAuthenticationSupplier(authenticationManager); + UserTokenAuthenticationSupplier supplier= new UserTokenAuthenticationSupplier(authenticationManager); + AuthenticationHolder.addSupplier(supplier); + return supplier; } @Bean diff --git a/hsweb-authorization/hsweb-authorization-api/src/main/resources/META-INF/spring.factories b/hsweb-authorization/hsweb-authorization-api/src/main/resources/META-INF/spring.factories index 4b1c942a5..cb2dcecb0 100644 --- a/hsweb-authorization/hsweb-authorization-api/src/main/resources/META-INF/spring.factories +++ b/hsweb-authorization/hsweb-authorization-api/src/main/resources/META-INF/spring.factories @@ -1,3 +1,3 @@ # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -org.hswebframework.web.authorization.simple.AuthorizationAutoConfiguration \ No newline at end of file +org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration \ No newline at end of file diff --git a/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/configuration/AuthorizingHandlerAutoConfiguration.java b/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/configuration/AuthorizingHandlerAutoConfiguration.java index c1ee2b281..626a4e356 100644 --- a/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/configuration/AuthorizingHandlerAutoConfiguration.java +++ b/hsweb-authorization/hsweb-authorization-basic/src/main/java/org/hswebframework/web/authorization/basic/configuration/AuthorizingHandlerAutoConfiguration.java @@ -99,9 +99,6 @@ public class AuthorizingHandlerAutoConfiguration { if (bean instanceof DataAccessHandler) { defaultDataAccessController.addHandler(((DataAccessHandler) bean)); } - if (bean instanceof AuthenticationSupplier) { - AuthenticationHolder.addSupplier(((AuthenticationSupplier) bean)); - } return bean; } } diff --git a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthenticationManager.java b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthenticationManager.java index a32fdbac1..4d19931cf 100644 --- a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthenticationManager.java +++ b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthenticationManager.java @@ -10,8 +10,6 @@ import org.springframework.cache.annotation.Cacheable; import static org.hswebframework.web.service.authorization.simple.CacheConstants.USER_AUTH_CACHE_NAME; /** - * TODO 完成注释 - * * @author zhouhao */ public class SimpleAuthenticationManager implements AuthenticationManager { diff --git a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/main/java/org/hswebframework/web/authorization/starter/AuthorizationAutoConfiguration.java b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/main/java/org/hswebframework/web/authorization/starter/AuthorizationAutoConfiguration.java index 251ad06ab..fce8fd26f 100644 --- a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/main/java/org/hswebframework/web/authorization/starter/AuthorizationAutoConfiguration.java +++ b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/main/java/org/hswebframework/web/authorization/starter/AuthorizationAutoConfiguration.java @@ -23,9 +23,11 @@ import org.hswebframework.web.authorization.AuthenticationManager; import org.hswebframework.web.authorization.listener.AuthorizationListener; import org.hswebframework.web.authorization.listener.AuthorizationListenerDispatcher; import org.hswebframework.web.authorization.listener.event.AuthorizationEvent; +import org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration; import org.hswebframework.web.service.authorization.simple.SimpleAuthenticationManager; import org.hswebframework.utils.ClassUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; @@ -40,24 +42,11 @@ import java.util.List; @Configuration @ComponentScan({"org.hswebframework.web.service.authorization.simple" , "org.hswebframework.web.controller.authorization"}) +@AutoConfigureBefore(DefaultAuthorizationAutoConfiguration.class) public class AuthorizationAutoConfiguration { - @Autowired(required = false) - private List listeners; - - @Bean - @SuppressWarnings("unchecked") - public AuthorizationListenerDispatcher authorizationListenerDispatcher() { - AuthorizationListenerDispatcher dispatcher = new AuthorizationListenerDispatcher(); - if (listeners != null) { - listeners.forEach(listener -> dispatcher.addListener((Class) ClassUtils.getGenericType(listener.getClass()), listener)); - } - return dispatcher; - } - @Bean @ConditionalOnMissingBean(AuthenticationManager.class) - @ConditionalOnBean(AuthenticationInitializeService.class) public AuthenticationManager authenticationManager(AuthenticationInitializeService authenticationInitializeService) { return new SimpleAuthenticationManager(authenticationInitializeService); }