MENU

SpringBoot处理跨域请求

April 17, 2020 • Read: 150 • Note,SpringBoot

为什么会出现跨域问题?主要是出于浏览器的同源策略限制

所谓同源(即指在同一个域)就是两个地址具有相同的协议(protocol),主机(host)和端口号(port)

同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。

同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能。

解决方法

第一种(推荐)

在controller层(即api提供处),类上添加一个注解

@CrossOrigin

第二种:

写个配置类即可解决。

@Configuration
public class CrosConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("*")  //允许任何方法(post、get)等
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*"); //允许跨域的域名,用*表示允许任何域名使用
    }
}

本站所有未注明转载的文章均为原创,并采用CC BY-NV-SA 4.0 授权协议,转载请注明来源。

Last Modified: June 26, 2020
Archives QR Code
QR Code for this page
Tipping QR Code
Leave a Comment