XxlSsoConfig.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.mokamrp.privates.config;
  2. import com.xxl.sso.core.conf.Conf;
  3. import com.xxl.sso.core.filter.XxlSsoWebVueFilter;
  4. import com.xxl.sso.core.util.JedisUtil;
  5. import org.springframework.beans.factory.DisposableBean;
  6. import org.springframework.beans.factory.annotation.Value;
  7. import org.springframework.boot.web.servlet.FilterRegistrationBean;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.Configuration;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. /**
  13. * @author xuxueli 2018-11-15
  14. */
  15. @Configuration
  16. public class XxlSsoConfig implements DisposableBean {
  17. @Value("${xxl.sso.server}")
  18. private String xxlSsoServer;
  19. @Value("${xxl.sso.logout.path}")
  20. private String xxlSsoLogoutPath;
  21. @Value("${xxl-sso.excluded.paths}")
  22. private String xxlSsoExcludedPaths;
  23. @Value("${xxl.sso.redis.address}")
  24. private String xxlSsoRedisAddress;
  25. @Bean
  26. public FilterRegistrationBean exxlSsoFilterRgistration() {
  27. // xxl-sso, redis init
  28. JedisUtil.init(xxlSsoRedisAddress);
  29. // xxl-sso, filter init
  30. FilterRegistrationBean registration = new FilterRegistrationBean();
  31. registration.setName("XxlSsoWebFilter");
  32. registration.setOrder(1);
  33. registration.addUrlPatterns("/*");
  34. registration.setFilter(new XxlSsoWebVueFilter());
  35. registration.addInitParameter(Conf.SSO_SERVER, xxlSsoServer);
  36. registration.addInitParameter(Conf.SSO_LOGOUT_PATH, xxlSsoLogoutPath);
  37. registration.addInitParameter(Conf.SSO_EXCLUDED_PATHS, "/healthy");
  38. return registration;
  39. }
  40. @Override
  41. public void destroy() throws Exception {
  42. // xxl-sso, redis close
  43. JedisUtil.close();
  44. }
  45. }