文档章节

Spring-boot2.0 前后端分离项目 跨域问题

從此迷花粉
 從此迷花粉
发布于 2018/08/20 10:32
字数 274
阅读 434
收藏 11

将Spring-boot 从1.5.x升级到2.0后,浏览器出现跨域问题:

Failed to load http://192.168.1.123:8080/mypath: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://192.168.1.123:8080' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

原因:Spring-boot2.0后 allowCredentials为false

解决方式:

1.全局设置:


@Configuration
@EnableWebMvc
public class CorsConfig implements WebMvcConfigurer {
 
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        //设置允许跨域的路径
        registry.addMapping("/**")
                //设置允许跨域请求的域名
                .allowedOrigins("*")
                //这里:是否允许证书 不再默认开启
                .allowCredentials(true)
                //设置允许的方法
                .allowedMethods("*")
                //跨域允许时间
                .maxAge(3600);
    }

注意:corsconfig 实现方法也不一样,1.5.x WebMvcConfigurerAdapter 在2.0中改接口已被弃用,使用新的接口WebMvcConfigurer

2、局部使用注解@CrossOrigin 在Controller 或者方法上设置(全局的配置 在@CrossOrigin里依旧可用)

参考:https://github.com/spring-projects/spring-boot/issues/12488

© 著作权归作者所有

從此迷花粉

從此迷花粉

粉丝 7
博文 175
码字总数 64022
作品 0
海淀
程序员
私信 提问
javaWeb项目跨域问题解决方案:

1.简单的servlet项目 1.配置一个filter过滤器,过滤所有的请求,并且设置响应头 package Filter; import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IO......

文文1
2018/11/26
32
0
试图做前后端分离项目遇到的困难

先分享两个前后端分离的技术文章。 Web应用的组件化开发 http://blog.xufei.gitpress.org/~posts/2013-11-20-Web%E5%BA%94%E7%94%A8%E7%9A%84%E7%BB%84%E4%BB%B6%E5%8C%96%E5%BC%80%E5%8F%91......

change_solider
2014/07/29
2.9K
7
springmvc集成cas,并解决前后端分离情况

1.最近项目需要集成已经存在的cas系统。 但是目前已集成的系统都是jsp。而我们项目是前后端分离开发(伪),没有分开部署。 2.cas原理就不介绍了 网上例子很多。基本都是使用302重定向实现的...

起名字什么的太麻烦了
04/25
186
0
SpringMVC跨域配置以及权限控制拦截跨域请求时的问题解决

背景 最近公司开始推行前后端分离的架构,于是不可避免的引入了跨域的问题,跨域的概念可以参考大佬的博客,这里就不再赘述了。 作为Java最流行框架之一的Spring其实已经帮我们写好了很多代码...

Iceberg_XTY
2018/09/29
1K
0
SpringMVC拦截器Interceptor导致跨越cors失效

项目采用前后端分离,服务器端添加了全局的跨域配置,但是却出现了跨域问题,分析了多次请求发现有一部分请求并没有出现跨域,没有出现跨域的请求刚好就是拦截器放行的地址,所以分析可能是权...

皮皮猫32
04/12
89
0

没有更多内容

加载失败,请刷新页面

加载更多

Android OkHttp + Retrofit 取消请求的方法

本文链接 前言 在某一个界面,用户发起了一个网络请求,因为某种原因用户在网络请求完成前离开了当前界面,比较好的做法是取消这个网络请求。对于OkHttp来说,具体是调用Call的cancel方法。 ...

shzwork
37分钟前
6
0
并发编程之Callable异步,Future模式

Callable 在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或...

codeobj
今天
6
0
Ubuntu环境下安装PaddlePaddle

开篇 深度学习技术是目前非常热门的技术,笔者在闲暇之余决定学习一下这门技术,入门选择了百度开源的PaddlePaddle框架。 paddlepaddle介绍 飞桨(PaddlePaddle) 是国际领先的端到端开源深度学...

豫华商
今天
6
0
LeetCode 第 287 号问题:寻找重复数,一道非常简单的数组遍历题,加上四个条件后感觉无从下手

今天分享的题目来源于 LeetCode 第 287 号问题:寻找重复数。 题目描述 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只...

五分钟学算法
今天
6
0
vuex mapActions

本文转载于:专业的前端网站➧vuex mapActions 在组件中使用 this.$store.dispatch('xxx') 分发 action,或者使用 mapActions 辅助函数将组件的 methods 映射为 store.dispatch 调用(需要先在...

前端老手
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部