单点登录(SSO)Cookie跨域问题 CAS原理

本文介绍了单点登录(SSO)系统如何解决多系统登录Session不共享的问题,以及Cookie跨域的解决方案。通过抽取出独立的SSO系统,利用Redis存储用户信息并设置Token,解决了Session共享。此外,讨论了CAS(Central Authentication Service)的原理,展示了在用户访问各系统时如何通过全局会话和Token实现单点登录。
摘要由CSDN通过智能技术生成

1、回顾单系统登陆

我么知道 Http 是无状态协议,这意味着服务器无法确认用户信息。于是W3C就提出了给每个用户发一个通行证,无论谁访问都要携带通行证,服务器通过通行证确认信息。这个通行证就是Cookie。Session 相当于在服务器中简历的一份“客户明细表”。Session 不能依据 Http连接来判断是否为同一个用户,于是服务器向浏览器发送一个Cookie,Session就是依据cookie来识别是否是同一用户。

流程:用户信息保存在 Session中 ===》如果Session中可以查到放行,已经登录,如果查不到说明没有登录或者是登陆失败。

总结:用户登录的时候会生成一个Token保存在数据库中,将Tocken写到Cookie中,保存在Session中;每次请求都会带上Cookie,检查有没有登录。

2、多系统登录解决Session不共享问题

系统简单结构如图所示 :

以下几种解决方案:

        1、Tomcat集群Session全局复制(集群内每个tomcat完全同步)【影响性能不建议】

        2、根据IP请求进行 Hash映射到对应的机器上(不建议&

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值