Spring CORS

1. CORS 简介

Cross Origin Resource Sharing

表示跨域 HTTP 请求。即,在网站脚本内发起 HTTP 请求,访问其他网站地址,或同地址但不同端口的资源。

出于安全原因,浏览器会限制发起、或接收此类请求。

2. Spring Web Security 配置

(1). 配置 Spring MVC
@Configuration
@EnableWebMvc
public class MVCConf implements WebMvcConfigurer {
    @Autowired
    private AuthInterceptor authInterceptor;

    public void addCorsMappings(CorsRegistry registry){
        registry.addMapping("/**")
                .allowedOrigins("*")  //全部允许
                .allowedHeaders("*")  //全部允许
                .allowedMethods("GET", "POST", "DELETE")
                .allowCredentials(false)
                .maxAge(3600);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(2). 配置 Spring Web Security 启用 CORS
@Configuration
@EnableWebSecurity
public class WebSecurityConfigurer extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception{
        http.cors().and() //启用 CORS 
            .csrf().disable() //禁用 CSRF
            //......
    }
}
1
2
3
4
5
6
7
8
9
10
11

3. 文档

最近更新: 10/9/2018, 10:42:31 PM