美文网首页
cookie在多域名下的跨域解决办法

cookie在多域名下的跨域解决办法

作者: 天草二十六_简村人 | 来源:发表于2018-11-27 15:35 被阅读0次

项目背景
用户登录成功后,服务端生成token,并保存在cookie里。http的cookie机制解决了http请求的无状态,短连接的特性,前端后续的请求都不需要传token或密码,就可以实现权限的认证。
但是方便的同时,跨域和同源的问题随之而来。
不是同源,cookie是不能读写的。(这里的同源是指相同的协议,主机,端口;只要其中任何一项不相等,就不是同源。)(三级域名abc.xx.com 与 二级域名 xx.com 是同源吗?)
下面以几组图来表示:
1、前后端分离的正常访问模式
后端cors配置相应前端的域名,允许跨域访问。后端的域名是meng.abc.com,前端的域名是m.abc.com。因为是同源,cookie读写正常。


20181127152252.png

2、多个前端域名,访问同一个后端服务的情况
现在增加了两个前端域名,m.51.com, m.xx.com。如下图所示,即使配置跨域的域名,但是也解决不了cookie读写的同源问题!!


20181127151642.png

3、多个前端域名,分别访问多个后端服务的情况
因为同源的特性,需要针对每个前端域名,分别对应一个后端域名。如下图所示,解决cookie的同源正常读写问题。


20181127152646.png

备注:这里就不详细讲解跨域的解决方案。上述,只要是前后端分离,都需要配置跨域的cors的二级域名。

**********cors及domain配置**********#

spring.domain=abc.com;51.com;xx.com
spring.corsOrigins=http://m.abc.com;https://m.abc.com;http://m.51.com;https://m.51.com;http://m.xx.com;https://m.xx.com

后期可能优化的地方:把token存储在localstorage等地方,通过http header 传递到服务器验证,不要使用http cookie机制,好处既能避开crsf跨站攻击,又能解决同源的跨域问题。

相关文章

  • localstorage和cookie的跨域解决方案

    cookie跨域 业务场景 场景1: 同一个主域下边的跨域问题 百度www域名下边登录了,发现yun域名下面也自...

  • cookie在多域名下的跨域解决办法

    项目背景用户登录成功后,服务端生成token,并保存在cookie里。http的cookie机制解决了http请求...

  • 前端常见跨域解决方案

    什么是跨域? 跨域是指的一个域名下的文档或者脚本试图去请求另一个域名下的资源,这里跨域是广义的。 广义的跨域 1)...

  • 带cookie的跨域1

    带cookie的跨域1 1、Access-Control-Allow-Origin:*解决不了带Cookie的跨域...

  • 跨域资源共享 CORS

    跨域解决办法 1、 对于不用发送cookie的请求来说,直接设置: 2、如果需要发送cookie,xhr请求需要设...

  • 跨域

    1、什么是跨域 同一域名下的文档或脚本去访问另一个域名下的资源,叫跨域 2、跨域出现的方式 1、资源跳转:a,重定...

  • SpringBoot+Vue数据交互

    后端框架Spring Boot,前端框架vue 1. 跨域+携带cookie 跨域-携带cookie 2. 拦截器...

  • 浏览器跨域问题,教你手写实现jsonp跨域

    跨域概述为什么会有跨域跨域解决办法:1、jsonp;2、后台代理手写实现jsonp跨域(包括服务器端代码) 跨域问...

  • localStorage 如何跨域通信?

    cookie 跨域主要记住一个单词,如下: 看看 localStorage 如何跨域通信? 因为要跨域所以我们需要...

  • HTML-获取iframe元素的正确方法

    跨域相关文章详解js跨域问题JavaScript跨域总结与解决办法 解释最清楚的jsonpWhat is JSON...

网友评论

      本文标题:cookie在多域名下的跨域解决办法

      本文链接:https://www.haomeiwen.com/subject/cmmgqqtx.html