SSO的实现(2)——成员站点

SSO旨在实现单点登录后授权成员站点免登录访问,成员站点判断用户登录状态很关键。其先读取Cookie获取TicketID,再从Passport Server获取对应信息和状态。针对读取Cookie的不同情况,如无Cookie、ID失效等,给出了相应处理办法。

    SSO的目的就是实现单点登陆之后,所有授权的成员站点均可无须登陆即可访问,因此成员站点判断用户是否登陆是最重要的。
    成员站点首先读取Cookie,取得当前的TicketID,然后从Passport Server获取这个ID对应的用户登陆信息,及其状态,并根据状态判断是否允许用户访问。
    读取到的Cookie可以有几种情况:
    (1)成员站点读取Cookie之后,如果发现没有Cookie存在则无法读取TicketID,并判断用户是否登陆,这时则需要从Passport Server取得该TicketID,这同样采用Cookie来传递。
   (2)从Cookie取得TicketID后,到Passport验证发现该ID已经失效或者不存在,是否就应该让用户退出呢?要考虑这种情况,用户没有关闭浏览器,也没有从前一个用户正常退出,直接使用另外一个帐号从Passport Server登录,此时成员站点的Cooki仍然记录的是原来的ID。此时用这个ID验证发现已经无效,那么就需要获取新的ID,因此当发现ID已经失效或不存在与Passport Server的Cache中时应该当作第一中情况——Cookie不存在处理。
    (3)当从Passport Server也取不到Cookie,那么则表明用户没有登陆,则转至登陆页面。
    (4)当取到正确的TicketID之后,则通过Passport Server提供的接口获取相应的用户登陆状态及信息。 然后成员站点再作自己的一系列处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值