package com.qianwen.core.secure.config;
|
|
import com.qianwen.core.secure.handler.BladePermissionHandler;
|
import com.qianwen.core.secure.handler.IPermissionHandler;
|
import com.qianwen.core.secure.handler.ISecureHandler;
|
import com.qianwen.core.secure.handler.SecureHandlerHandler;
|
import com.qianwen.core.secure.registry.SecureRegistry;
|
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.core.annotation.Order;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
@AutoConfigureBefore({SecureConfiguration.class})
|
@Configuration(proxyBeanMethods = false)
|
@Order
|
|
public class RegistryConfiguration {
|
private final JdbcTemplate jdbcTemplate;
|
|
public RegistryConfiguration(final JdbcTemplate jdbcTemplate) {
|
this.jdbcTemplate = jdbcTemplate;
|
}
|
|
@ConditionalOnMissingBean({SecureRegistry.class})
|
@Bean
|
public SecureRegistry secureRegistry() {
|
return new SecureRegistry();
|
}
|
|
@ConditionalOnMissingBean({ISecureHandler.class})
|
@Bean
|
public ISecureHandler secureHandler() {
|
return new SecureHandlerHandler();
|
}
|
|
@ConditionalOnMissingBean({IPermissionHandler.class})
|
@Bean
|
public IPermissionHandler permissionHandler() {
|
return new BladePermissionHandler(this.jdbcTemplate);
|
}
|
}
|