12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package com.jiayue.center.config;
- import com.jiayue.center.constant.CacheConstants;
- import com.jiayue.center.entity.SysBlacklist;
- import com.jiayue.center.interceptor.TokenStatusInterceptor;
- import com.jiayue.center.service.SysBlacklistService;
- import com.jiayue.center.service.SysParameterService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.web.servlet.ServletContextInitializer;
- 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.WebMvcConfigurer;
- import javax.servlet.ServletContext;
- import javax.servlet.ServletException;
- import java.util.List;
- /**
- * MVC配置
- *
- * @author xsl
- * @since 2023/03/03
- */
- @Configuration
- public class WebConfig implements WebMvcConfigurer {
- @Autowired
- SysParameterService sysParameterService;
- @Autowired
- SysBlacklistService sysBlacklistService;
- @Override
- public void addInterceptors(InterceptorRegistry registry){
- // 刷新token拦截器注册
- registry.addInterceptor(new TokenStatusInterceptor()).addPathPatterns("/**")
- .excludePathPatterns("/refreshToken","/error","/getVerifyCode","/login","/index.html","/user/login","/css/**","/images/**","/js/**","/fonts/**");
- }
- /**
- * 加载黑名单
- */
- @Bean
- public void initBlackList() {
- // 加载上报对象缓存
- List<SysBlacklist> sysBlacklists = sysBlacklistService.list();
- for (SysBlacklist sysBlacklist:sysBlacklists){
- CacheConstants.blacklistMap.put(sysBlacklist.getIp(),sysBlacklist);
- }
- }
- @Bean
- public ServletContextInitializer servletContextInitializer() {
- return new ServletContextInitializer() {
- @Override
- public void onStartup(ServletContext servletContext) throws ServletException {
- // 解决加密会话(SSL)Cookie 中缺少 Secure 属性
- servletContext.getSessionCookieConfig().setSecure(true);
- }
- };
- }
- }
|