聊一聊实现Session跨域的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊一聊实现Session跨域的问题相关的知识,希望对你有一定的参考价值。

本文来自有着丰富经验的大神和一个小白的对话!  

 为了阅读方便,小白代号Q, 大神代号W

Q: 怎么实现session跨域?

W: 别用系统session即可

Q: 那用什么session ?自己存session?

W: 自己有啥不行吗   系统的方案是改配置,允许一些域。 不过没用直接自己处理会话来的干脆实际   

  会话信息就是你说的session 默认系统是跟域名绑定的。但是跨域的本质是后端多系统共享,所以在后端处理数据存取最为直接

路人甲: 现在不是流行 token吗 ? 这不就是一个另类的session吗

Q: token和session不是一回事 token保存数据库的

Q: token不就标识嘛?怎么存数据?

W: 一般sessionid可以认为是一种token

路人甲:session一般实现也是在cookies中存了个token。

W:就是cookies里那个 所以session怎么可能是t

Q: key是在cookie,value是在服务端吧

W:但是这也说明了为什么我说自己实现就可以回避系统的域限制了   

  前端token 后端 基于token的分布式缓存系统 用来替代session机制 已经是现实情况了。。。

路人甲:token是保存在数据库,还是另一台服务器,如缓存,nosql

W: token是前后端都有的一串值 用此来维系 一对关系 就等于是session的 key了   

  每个用户一个session对象 一个会话对象 一个key 一个token   

  token在分布式里应该保存在redis memcached 这类高速内存数据库

《个人整理,有什么不合理的地方请在下面留言评论》

以上是关于聊一聊实现Session跨域的问题的主要内容,如果未能解决你的问题,请参考以下文章

可跨域的单点登录(SSO)实现方案

处理session跨服务器跨域失效问题

知识点补充(跨域,Cookie和session,分布式系统状态管理,单点登录(SSO)的实现机制)

可跨域的单点登录(SSO)实现方案(附.NET代码)

ajax --- Ajax跨域请求保证同一个session的问题

express解决ajax跨域访问session失效问题