springboot 的跨域处理

  1. 方法一、指定控制器跨域
  2. 方法二、全局处理跨域 Configuration
  3. 方法三、基于 Spring Security 的全局跨域处理

方法一、指定控制器跨域

@CrossOrigin

方法二、全局处理跨域 Configuration

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

@Configuration
public class MyWebMvcConfigurationSupport extends WebMvcConfigurationSupport {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("*")
                .allowedHeaders("*")
            /*.allowedHeaders("header1", "header2", "header3")
            .exposedHeaders("header1", "header2")*/
                .allowCredentials(true).maxAge(3600);

    }
}

方法三、基于 Spring Security 的全局跨域处理

//解决跨域
@Bean
public CorsWebFilter corsWebFilter() {

    CorsConfiguration config = new CorsConfiguration();
    config.addAllowedMethod("*");
    config.addAllowedOrigin("*");
    config.addAllowedHeader("*");

    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
    source.registerCorsConfiguration("/**",config);

    return new CorsWebFilter(source);
}

转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:springboot 的跨域处理

字数:147

本文作者:夏来风

发布时间:2020-10-16, 22:18:12

原始链接:http://www.demo1024.com/blog/java-crossorigin/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。