记录一下最近遇到的一个跨域问题,我这边是springboot+security+vue,话不多说,开始表演

前端
我们前端项目用的vue,先在vue项目的config目录下的index.js配置跨域请求代理,将所有请求代理到你的服务器域名(ip)下
在这里插入图片描述
然后设置host和port
在这里插入图片描述
这么一套操作下来,你的前端所有请求都是被代理到http://localhost:8080
在这里插入图片描述
在这里插入图片描述
统一了请求地址,这就好办了,在你的security配置类里面这样搞一下

后端
在配置类的corsConfigurationSource方法里面,setAllowedOrigins加上你的代理请求域,我这里是http://localhost:8080在这里插入图片描述
注意
setAllowedOrigins添加的放行域一定是全称,不能是localhost或者http://localhost,必须是http://localhost:8080,还有,127.0.0.1也不行,不仅如此,写你的客户端ip也不行,虽然客户端ip和localhost都能代表你的机器,但是但是但是,security底层是根据字符串来判断是否是同一个域的,我当时就是没加端口号,搞了半天,后来跟了一遍security的执行流程才恍然大明白,skr

ok我话说完

Logo

前往低代码交流专区

更多推荐