CORS---跨域资源共享

CORS (Cross-Origin Resource Sharing) :跨域资源共享

同源策略 [same origin policy] : 是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。

CorsWebFilter进行全局跨域配置

@Configuration
public class GulimallCorsConfiguration {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        // 允许哪个 源 访问 协议://IP:端口 一致即为同源 eg: http://www.baidu.com:80
        corsConfiguration.addAllowedOrigin("*");
        // 允许携带哪些头信息
        corsConfiguration.addAllowedHeader("*");
        // 允许暴露哪些头信息给客户端 必须各个具体的一些头部信息都添加进去而不能用*号来代替
        // error: corsConfiguration.addExposedHeader("*");
        // Caused by: java.lang.IllegalArgumentException: '*' is not a valid exposed header value
        corsConfiguration.addExposedHeader("Content-Type");
        corsConfiguration.addExposedHeader( "X-Requested-With");
        corsConfiguration.addExposedHeader("accept");
        corsConfiguration.addExposedHeader("Origin");
        corsConfiguration.addExposedHeader( "Access-Control-Request-Method");
        corsConfiguration.addExposedHeader("Access-Control-Request-Headers");
        // 允许哪些请求方法 GET POST PUT DELETE
        corsConfiguration.addAllowedMethod("*");
        // 是否允许携带cookie
        corsConfiguration.setAllowCredentials(true);
        // 哪些路径对以上配置生效 /** 代表全部
        source.registerCorsConfiguration("/**",corsConfiguration);
        return new CorsWebFilter(source);
    }
}

参考:

https://blog.51cto.com/u_14482423/2986315

https://www.cnblogs.com/deityjian/p/11515275.html

https://www.cnblogs.com/yuansc/p/9076604.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王景清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值