前后端分离全局跨域实现

@Configuration
public class WebAppConfigurer extends WebMvcConfigurerAdapter {

    private static List ORIGINS = Arrays.asList("http://localhost:8080");

    //改用过滤器CorsFilter 来配置跨域,由于Filter的位置是在Interceptor之前的,问题得到解决
    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        // 设置允许跨域请求的域名
        config.setAllowedOrigins(ORIGINS);
        // 是否允许证书 不再默认开启
        // config.setAllowCredentials(true);
        // 设置允许的方法
        config.addAllowedMethod("*");
        // 是否允许请求带有验证信息
        config.setAllowCredentials(true);
        // 允许任何头
        config.addAllowedHeader("*");
        config.addExposedHeader("X-XSRF-TOKEN");
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**", config);
        return new CorsFilter(configSource);
    }


}

 

你可能感兴趣的:(springboot)