WebConfig.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.jiayue.center.config;
  2. import com.jiayue.center.constant.CacheConstants;
  3. import com.jiayue.center.entity.SysBlacklist;
  4. import com.jiayue.center.interceptor.TokenStatusInterceptor;
  5. import com.jiayue.center.service.SysBlacklistService;
  6. import com.jiayue.center.service.SysParameterService;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.boot.web.servlet.ServletContextInitializer;
  9. import org.springframework.context.annotation.Bean;
  10. import org.springframework.context.annotation.Configuration;
  11. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  12. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  13. import javax.servlet.ServletContext;
  14. import javax.servlet.ServletException;
  15. import java.util.List;
  16. /**
  17. * MVC配置
  18. *
  19. * @author xsl
  20. * @since 2023/03/03
  21. */
  22. @Configuration
  23. public class WebConfig implements WebMvcConfigurer {
  24. @Autowired
  25. SysParameterService sysParameterService;
  26. @Autowired
  27. SysBlacklistService sysBlacklistService;
  28. @Override
  29. public void addInterceptors(InterceptorRegistry registry){
  30. // 刷新token拦截器注册
  31. registry.addInterceptor(new TokenStatusInterceptor()).addPathPatterns("/**")
  32. .excludePathPatterns("/refreshToken","/error","/getVerifyCode","/login","/index.html","/user/login","/css/**","/images/**","/js/**","/fonts/**");
  33. }
  34. /**
  35. * 加载黑名单
  36. */
  37. @Bean
  38. public void initBlackList() {
  39. // 加载上报对象缓存
  40. List<SysBlacklist> sysBlacklists = sysBlacklistService.list();
  41. for (SysBlacklist sysBlacklist:sysBlacklists){
  42. CacheConstants.blacklistMap.put(sysBlacklist.getIp(),sysBlacklist);
  43. }
  44. }
  45. @Bean
  46. public ServletContextInitializer servletContextInitializer() {
  47. return new ServletContextInitializer() {
  48. @Override
  49. public void onStartup(ServletContext servletContext) throws ServletException {
  50. // 解决加密会话(SSL)Cookie 中缺少 Secure 属性
  51. servletContext.getSessionCookieConfig().setSecure(true);
  52. }
  53. };
  54. }
  55. }