跨域处理

跨域处理

发起的请求与当前页面所在服务, 协议,ip,端口三者只要有一个不同,违反了浏览器的同源策略,造成跨域问题。

需要在服务器端配置响应头,告诉浏览器服务端允许这个客户端的请求:

响应头需要配置如下信息:

​ 允许的域:http://127.0.0.1:8848

​ 允许的请求头

​ 允许的请求方法:GET/POST/PUT/DELETE/OPTIONS预检.

​ 是否允许请求携带cookie信息

​ 可以暴露给客户端的响应头

跨域产生的问题:

问题1:请求不能正常响应。因为浏览器的同源保护(springmvc.xml中配置全局跨域)

​ 解决方法:配置springMVC全局跨域设置< mvc:cors >

<mvc:cors>
        <mvc:mapping path="/**" allowed-origins="http://127.0.0.1:8848" allowed-methods="*" allowed-headers="*" allow-credentials="true"/>
    </mvc:cors>

问题2:httpSession保存用户会话信息:每次请求服务器都会创建新的HttpSession对象,无法做到多次请求之间共享session中数据。

​ 解决方法:前端axios请求配置withCredentials=true,表示请求时携带cookie

​ 服务端跨越配置中允许接收客户端cookie,allow-credentials=“true”

​ 如果使用chrome发现配置后仍然不行,开发中暂时先chrome://flags/,把samesite禁用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值