跨域问题一直都是很多人比较困扰的问题,我在项目开发的时候也遇到了,
主要讲述的是Spring Security 实现过滤器的作用,是spring项目之中的一个安全模块
Spring Security 结合跨域资源共享(CORS) 来实现跨域问题
跨域资源共享(CORS)是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。下面是cors网站
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS,想要学习的可以去看看
以下是具体的代码,若有疑问可以评论,看到会及时回复
CORS跨域资源共享
package com.okq.framework.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
/**
* 描述:跨域请求问题处理(需要在securityConfig中添加配置 .cors().and())
* 作者:gdd
* 日期:2020/03/27
*/
public class CustomCORSConfiguration {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
spring security配置
package com.