springboot开启跨域security也开启跨域配置
浏览器 同源策略,导致跨域失败,添加了security框架后,因为安全框架有一些列的过滤器,即使springboot把跨域打开,security的过滤器也可以能拦截。
所以,如果要在服务器端设置,要改两处
方法一:
先开放springboot的跨域
再开启security的跨域
方法二: (待验证)
这种方式好像没有管springboot的配置
@Configuration public class ResourcesConfig implements WebMvcConfigurer { /** * 跨域配置 */ @Bean public CorsFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); // 设置访问源地址 config.addAllowedOriginPattern("*"); // 设置访问源请求头 config.addAllowedHeader("*"); // 设置访问源请求方法 config.addAllowedMethod("*"); // 有效期 1800秒 config.setMaxAge(1800L); // 添加映射路径,拦截一切请求 UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", config); // 返回新的CorsFilter return new CorsFilter(source); } }
spring security配置
/** * 跨域过滤器 */ @Autowired private CorsFilter corsFilter; // 添加CORS filter httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class); httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class);
转 :https://www.bilibili.com/video/BV1mm4y1X7Hc
标签:corsFilter,springboot,开启,security,config,跨域 From: https://www.cnblogs.com/fps2tao/p/17415881.html