| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package com.uas.sso;
- import com.uas.sso.profile.Pre;
- import com.uas.sso.profile.Test;
- import com.uas.sso.web.AccountConfigurer;
- import com.uas.sso.filter.SSOInterceptor;
- import com.uas.sso.profile.Dev;
- import com.uas.sso.profile.Prod;
- import com.uas.sso.util.ContextUtils;
- import org.apache.log4j.Logger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
- import java.util.Properties;
- /**
- * SSOconfig 配置
- *
- * @author hejq
- */
- @Configuration
- public class SSOConfiguration extends WebMvcConfigurerAdapter {
- @Autowired
- private SSOInterceptor ssoInterceptor;
- private Logger logger = Logger.getLogger(this.getClass());
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- /**
- * SSO过滤, 这个地方拦截配置
- */
- registry.addInterceptor(ssoInterceptor).addPathPatterns("/**");
- }
- @Bean
- @Dev
- public AccountConfigurer devAccountConfigurer() {
- return accountConfigurer("dev");
- }
- @Bean
- @Test
- public AccountConfigurer testAccountConfigurer() {
- return accountConfigurer("test");
- }
- @Bean
- @Pre
- public AccountConfigurer preAccountConfigurer() {
- return accountConfigurer("pre");
- }
- @Bean
- @Prod
- public AccountConfigurer prodAccountConfigurer() {
- return accountConfigurer("prod");
- }
- /**
- * 获取当前环境下的配置
- *
- * @param profile
- * @return
- */
- private AccountConfigurer accountConfigurer(String profile) {
- AccountConfigurer accountConfigurer = new AccountConfigurer();
- accountConfigurer.setApplicationContext(ContextUtils.getApplicationContext());
- Properties properties = new Properties();
- String configPath = profile + "/account.properties";
- logger.info("***: " + configPath);
- try {
- properties.load(this.getClass().getClassLoader().getResourceAsStream(configPath));
- } catch (Throwable e) {
- throw new IllegalStateException("配置加载失败" + configPath);
- }
- accountConfigurer.initProperties(properties);
- return accountConfigurer;
- }
- }
|