单点登录SSO与CAS

一、什么是单点登录?

单点登录的英文名叫做:Single Sign On(简称SSO)。
在以前的时候,一般就是单系统,所有的功能都在同一个系统上。
在这里插入图片描述后来,我们为了合理利用资源和降低耦合性,于是把单系统拆分成多个子系统。
回顾:分布式基础知识
在这里插入图片描述比如阿里系的淘宝和天猫,很明显这是两个系统,但是你在使用的时候,登录了天猫,淘宝也会自动登录。
简单来说,单点登录就是在多个系统中,用户只需一次登录,各个系统即可感知该用户已经登录

二、回顾单系统登录

众所周知,HTTP是无状态的协议,这意味着服务器无法确认用户的信息。于是乎,W3C就提出了:给每一个用户都发一个通行证,无论谁访问的时候都需要携带通行证,这样服务器就可以从通行证上确认用户的信息。通行证就是Cookie。如果说Cookie是检查用户身上的”通行证“来确认用户的身份,那么Session就是通过检查服务器上的”客户明细表“来确认用户的身份的。Session相当于在服务器中建立了一份“客户明细表”。HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一个用户。于是乎,服务器向用户浏览器发送了一个名为JESSIONIDCookie,它的值是Session的id值。其实Session是依据Cookie来识别是否是同一个用户。

所以,一般单系统实现登录会这样做:

  • 登录:将用户信息保存在Session对象中

    1)如果在Session对象中能查到,说明已经登录;
    2)如果在Session对象中查不到,说明没登录(或者已经退出了登录)

  • 注销(退出登录):从Session中删除用户的信息

  • 记住我(关闭掉浏览器后,重新打开浏览器还能保持登录状态):配合Cookie来用

三、多系统登录的问题与解决思路

1.Session不共享问题

单系统登录功能主要是通过Session保存用户信息来实现的,但是多系统即可能有多个Tomcat(即服务器),而Session是依赖

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值