SSOConfiguration.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.uas.console.donate;
  2. import com.uas.account.web.AccountConfigurer;
  3. import com.uas.console.donate.profile.Dev;
  4. import com.uas.console.donate.profile.Prod;
  5. import com.uas.console.donate.profile.Test;
  6. import com.uas.console.donate.util.ContextUtils;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.context.annotation.Configuration;
  9. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  10. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  11. import java.util.Properties;
  12. /**
  13. * SSOconfig 配置
  14. *
  15. * @author hejq
  16. */
  17. @Configuration
  18. public class SSOConfiguration extends WebMvcConfigurerAdapter {
  19. @Override
  20. public void addInterceptors(InterceptorRegistry registry) {
  21. /**
  22. * 拦截器配置
  23. */
  24. // registry.addInterceptor(new SSOInterceptor()).addPathPatterns("/**").
  25. // excludePathPatterns("/WEB-INF/**","/**/static/**", "/login/**", "/logout/**");
  26. }
  27. @Bean
  28. @Dev
  29. public AccountConfigurer devAccountConfigurer() {
  30. return accountConfigurer("dev");
  31. }
  32. @Bean
  33. @Test
  34. public AccountConfigurer testAccountConfigurer() {
  35. return accountConfigurer("test");
  36. }
  37. @Bean
  38. @Prod
  39. public AccountConfigurer prodAccountConfigurer() {
  40. return accountConfigurer("prod");
  41. }
  42. /**
  43. * 获取当前环境下的配置
  44. *
  45. * @param profile
  46. * @return
  47. */
  48. private AccountConfigurer accountConfigurer(String profile) {
  49. AccountConfigurer accountConfigurer = new AccountConfigurer();
  50. accountConfigurer.setApplicationContext(ContextUtils.getApplicationContext());
  51. Properties properties = new Properties();
  52. String configPath = profile + "/account.properties";
  53. try {
  54. properties.load(this.getClass().getClassLoader().getResourceAsStream(configPath));
  55. } catch (Throwable e) {
  56. throw new IllegalStateException("配置加载失败" + configPath);
  57. }
  58. accountConfigurer.initProperties(properties);
  59. return accountConfigurer;
  60. }
  61. }