spring security 好像是有自己的跨域解决方式:
我是这样处理的
在 SecurityConfig 中添加这个 bean
```
/**
* 跨域
*
https://lolico.me/2020/04/26/Spring-Security-CORS/ *
https://blog.csdn.net/Keith003/article/details/104221174 *
* @
return */
@
Bean CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.addAllowedOrigin("*"); // 根据实际的需要去设置
configuration.addAllowedMethod("*"); // 同上
configuration.addAllowedHeader("*");
configuration.setMaxAge(3600L);
configuration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
```
然后在重写的 configure 方法中, 添加
```
// 禁用 CSRF
http.csrf().disable();
// 禁用表单登录
http.formLogin().disable();
// 防止 iframe 造成跨域
http.headers().frameOptions().disable();
// 开启跨域
http.cors();
```
在实现 AuthenticationFailureHandler 接口的 handler 中添加
```
// 跨域 options 请求直接返回
if (Objects.equals(request.getMethod(), HttpMethod.OPTIONS.toString())) {
return;
}
```