0
点赞
收藏
分享

微信扫一扫

cookie跨域共享的实现方案

伽马星系 2022-07-12 阅读 54


  由于工作需要,花费了较多的时间处理跨域的问题,未避免遗忘,特此记录。

1.跨域的场景:

      第一种:协议不同

      第二种: 域名不同

      第三种:端口不同;

2.跨域的关键点:

浏览器和服务器同时支持;

浏览器全权负责

需要带Cookie,需要双方都同意;

3.后台跨域的处理:

    基于springmvc的后台,在webMvcHandlerAdapter设置Cors放行;  实现方式可以用注解对单个请求处理,或者全局配置的方式;

    其它服务器容器,在返回头中设置 Access-Control-Allow-Origin: *  ;

本质也就是在响应头里面设置 Access-Control-Allow-Origin: * 字段;

4.前台跨域处理(Cookie共享):

当前域  或者 当前域的父级写入Cookie(同级与子级都不行);

写入

读取

         因此,第一种共享方案: 通过代理,将不同的关联系统 设置成 父子域;(不适用于动态接入系统,以及 系统太多的情况,且耦合度很高);   (即,通过后台登陆其它系统的方式,进行浏览器共享;)

        第二种共享方案: 通过浏览器+服务器的方式,由于天生符合CORS协议的要求,所以可以实现  类似于Cookie共享(即需要将cookie存储在不同的域下)的功能;

     此外,同名的Cookie不一定相互排斥,即某一个请求可能包括多个JSESSIONID;Cooke的唯一性还需要由 Domain,Path共同确定;

参考:

      总结一下跨域的几种情况

​​跨域资源共享 CORS 详解​​   -------->跨域必看文章


举报

相关推荐

0 条评论