单点登陆与共享session

单点登陆使用场景:当有多个系统,一个账号访问多个系统。只需要一次登陆。一个客户端访问多个服务器。

机制:(1)在cookie存储相应的账号和密码(2)通过redis访问 (3)通过访问固定的单点登陆系统的接口

CAS实现单点登录SSO执行原理探究(终于明白了):

http://blog.csdn.net/javaloveiphone/article/details/52439613

上面这篇博客讲清了其中的原理,没有具体的实现

流程:浏览器访问客户端,客户端判断是否有session,没有,判断是否有ticket。没有,则跳转到认证中心,然后 登陆,跳回链接加入ticket,再去访问客户端,客户端获取ticket,与认证中心确认,通过则登陆成功。

问题:1、如果登陆后,一直访问A系统,当认证中心session过期,如果登陆B系统。

答:好像是相互独立,只有session过期后才访问认证中心。也就是说,B系统需要登陆。

   2、登陆后,认证中心传回ticket和sessionID,是要写入cookie吗?

答:会写入cookie,认证中心不时用session存储的,而是把TGT的id的存放在用户浏览器的cookie中。当用户访问B系统时,跳转到认证中心获取cookie的值来判断。(具体看上面那个链接博客)

 

共享session使用场景:当系统部署到多台服务器,通过nginx动态访问,不需要多次登陆

机制:(1)通过redis访问

cas实现共享session(这个比较简易)

http://blog.csdn.net/dodolzg/article/details/43833545

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值