有状态的单点登录原理

登录:

1.客户端发起请求到服务端
2.服务端查看session是否登录,如果已经登录,那么就访问资源;
        如果还没登录,那么重定向到认证中心,并携带服务URL;
3.认证中心查看该请求有没有全局会话,
        如果有,那么就根据session的token,重定向到服务端,并携带token信息;
                服务端获取到token信息,携带token、sessionid和登注销地址,去认证中心查证是否是有效token,
                如果是,认证中心就把登出地址保存到数据库中,就创建回话,返回访问资源;
        如果没有,把登录页面返回给客户端,并绑定了登录;
4.客户端根据登录页面把用户名、密码和服务url一起提交到认证中心
5.认证中心验证用户名和密码,如果正确,创建全局会话,并把token存起来,携带token重定向到服务器中;
6.服务器获取到token后,拿着token、sessionid和登出地址去认证中心询问token是否有效;
7.token有效,则认证中心把token和sessionid和登出地址存起来,返回有效给服务端;
8.服务端得到有效token,表明登录成功,那么创建局部会话,并返回资源给客户端;
9.客户端再访问就无需再认证;

注销:
客户端携带sessionid到服务端要注销,服务端重定向到认证中心,
认证中心根据sessionid查询到session,获取到token,删除记录的token,循环请求各个服务器的登出地址;完成后,清除该记录,并销毁全局会话,返回给客户端登录页面;
 

转载于:https://my.oschina.net/u/3477913/blog/1826316

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值