Skip to content

Commit 4210b87

Browse files
committed
修改DataSource注入后实例化Security以及Oauth的Jdbc相关配置
1 parent 5d6bfcc commit 4210b87

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/oauth/ApiBootAuthorizationServerJdbcAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import org.minbox.framework.api.boot.plugin.oauth.ApiBootAuthorizationServerConfiguration;
2020
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
21+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2122
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2223
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
2324
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -47,6 +48,7 @@
4748
@Configuration
4849
@EnableConfigurationProperties(ApiBootOauthProperties.class)
4950
@EnableAuthorizationServer
51+
@ConditionalOnBean(DataSource.class)
5052
@ConditionalOnClass(ApiBootAuthorizationServerConfiguration.class)
5153
@ConditionalOnProperty(prefix = API_BOOT_OAUTH_PREFIX, name = "away", havingValue = "jdbc")
5254
@AutoConfigureAfter(DataSourceAutoConfiguration.class)

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/security/ApiBootWebSecurityJdbcAutoConfiguration.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@
2121
import org.minbox.framework.api.boot.plugin.security.delegate.ApiBootStoreDelegate;
2222
import org.minbox.framework.api.boot.plugin.security.userdetails.ApiBootUserDetailsService;
2323
import org.springframework.beans.factory.ObjectProvider;
24+
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
25+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2426
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2527
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
28+
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
2629
import org.springframework.boot.context.properties.EnableConfigurationProperties;
2730
import org.springframework.context.annotation.Bean;
2831
import org.springframework.context.annotation.Configuration;
@@ -32,6 +35,8 @@
3235
import org.springframework.security.web.AuthenticationEntryPoint;
3336
import org.springframework.security.web.access.AccessDeniedHandler;
3437

38+
import javax.sql.DataSource;
39+
3540
import static org.minbox.framework.api.boot.autoconfigure.security.ApiBootSecurityProperties.API_BOOT_SECURITY_PREFIX;
3641

3742
/**
@@ -50,8 +55,11 @@
5055
@EnableGlobalMethodSecurity(prePostEnabled = true)
5156
@EnableConfigurationProperties(ApiBootSecurityProperties.class)
5257
@ConditionalOnClass(ApiBootWebSecurityConfiguration.class)
58+
@ConditionalOnBean(DataSource.class)
5359
@ConditionalOnProperty(prefix = API_BOOT_SECURITY_PREFIX, name = "away", havingValue = "jdbc")
60+
@AutoConfigureAfter(DataSourceAutoConfiguration.class)
5461
public class ApiBootWebSecurityJdbcAutoConfiguration extends ApiBootWebSecurityAutoConfiguration {
62+
5563
public ApiBootWebSecurityJdbcAutoConfiguration(ApiBootSecurityProperties apiBootSecurityProperties, ObjectProvider<AccessDeniedHandler> accessDeniedHandler, ObjectProvider<AuthenticationEntryPoint> authenticationEntryPoint) {
5664
super(apiBootSecurityProperties, accessDeniedHandler.getIfAvailable(), authenticationEntryPoint.getIfAvailable());
5765
}
@@ -69,7 +77,7 @@ protected UserDetailsService userDetailsService() {
6977
*/
7078
@Bean
7179
@ConditionalOnProperty(prefix = API_BOOT_SECURITY_PREFIX, name = "enable-default-store-delegate", havingValue = "true", matchIfMissing = true)
72-
public ApiBootStoreDelegate apiBootStoreDelegate() {
73-
return new ApiBootDefaultStoreDelegate();
80+
public ApiBootStoreDelegate apiBootStoreDelegate(DataSource dataSource) {
81+
return new ApiBootDefaultStoreDelegate(dataSource);
7482
}
7583
}

0 commit comments

Comments
 (0)