全局跨域配置

在学习web开发的时候经常会碰到 跨域的问题 ,首先要了解什么是跨域问题???

出于浏览器的同源策略限制,同源策略是一种约定,它是浏览器最核心也就是最基本的安全功能,如果缺少了同源策略,浏览器的正常功能会受到影响,可以说WEB是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的js脚本和另外一个域的内容进行交互,所谓同源(即在同一个域)就是两个页面具有相同的协议(protocol)、主机(host)和接口号(port)

 问题: 也就是说 浏览器和服务器端的地址不一致导致

下面提供全局配置解决跨域处理

思路:实现 WebMvcConfigurer接口  重写方法 addCorsMapping

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

/**
 * 全局跨域配置
 *
 * @author jun
 */
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 覆盖所有请求
        registry.addMapping("/**")
                // 允许发送 Cookie
                .allowCredentials(true)
                // 放行哪些域名(必须用 patterns,否则 * 会和 allowCredentials 冲突)
                .allowedOriginPatterns("*")
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .allowedHeaders("*")
                .exposedHeaders("*");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值