如果两个站点顶级域名是相同的,那Session互通就很容易了。
大家知道,Session中的SessionID是存储在Cookie中的,如果域名不同,那么由于隐私策略的限制,不同域名间的Cookie是隔离的,所以Session默认情况下是无法共享的。
两个站如果顶级域名是相同的,那两个站在设置Cookie时domain设置为顶级域名就能共享Cookie从而实现Session互通。
当然了,要实现Session互通方案很多,除了上面说到的Cookie传递SessionID的方式外还有以下几种:
1、Session入库
Session入库顾名思义就是将Session的落地方式改为数据库存储,这样可以有效解决SSO和跨域问题。
2、将Session存入NoSQL
实现原理和上面的Session入库差不多,将Session存入NoSQL(如Redis)中,可以避免数据库操作带来的性能开销。
以上,如果多个网站顶级域名相同,那利用Cookie共享来实现Session互通的成本是最低的;如果多个站顶级域名不同,建议借助Redis来实现Session互通共享。
以上就是偶的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 偶是科技领域创作者,十年互联网从业经验,欢迎关注偶了解更多科技知识!