cas单点登录

上面是一张SSO登录原理图,下面我们来分析一下具体的流程:

首先用户访问系统1受保护的资源,系统1发现未登陆,跳转至SSO认证中心,并将自己的参数传递过去
SSO认证中心发现用户未登录,将用户引导至登录页面
用户输入用户名和密码提交至SSO认证中心
SSO认证中心校验用户信息,创建用户与SSO认证中心之间的会话,称为全局会话,同时创建授权令牌
SSO认证中心带着令牌跳转会最初的请求地址(系统1)
系统1拿到令牌,去SSO认证中心校验令牌是否有效
SSO认证中心校验令牌,返回有效,注册系统1的地址
系统1使用该令牌创建与用户的会话,称为局部会话,返回给用户受保护资源
用户访问系统2受保护的资源
系统2发现用户未登录,跳转至SSO认证中心,并将自己的地址作为参数传递过去
SSO认证中心发现用户已登录,跳转回系统2的地址,并附上令牌
系统2拿到令牌,去SSO认证中心校验令牌是否有效
SSO认证中心校验令牌,返回有效,注册系统2地址
系统2使用该令牌创建与用户的局部会话,返回给用户受保护资源

用户登录成功之后,会与SSO认证中心及各个子系统建立会话,用户与SSO认证中心建立的会话称为全局会话,用户与各个子系统建立的会话称为局部会话,局部会话建立之后,用户访问子系统受保护资源将不再通过SSO认证中心,全局会话与局部会话有如下约束关系:

局部会话存在,全局会话一定存在
全局会话存在,局部会话不一定存在
全局会话销毁,局部会话必须销毁

原文地址:https://www.cnblogs.com/cowshed/p/11397716.html