单点登录理解

SSO,就是Single Sign On,单点登录
CAS是SSO的一种实现
其中用到的名词:
CAS服务器的session:TGT,里面存放了TGC和对应的用户
client的cookie:TGC,里面存放了可以登录cas服务器的cookie
票据:ST,每次请求不一样,有效期大概10秒(可配),CAS服务器给用户签发的票据,如果票据有效,则可以登录CAS

用户访问appA,如果处于登录状态,则通过appA的cookie即可保持登录状态
如果未登录appA -> appA重定向用户去CAS拿一个ST -> 用户访问CAS ->
(CAS服务器发现用户有TGC,即在别的appB已登录) -> 签发ST -> 用户拿ST访问appA -> appA拿该ST去CAS验证,验证通过(返回username给appA)即可登录,同时发一个appA的cookie给用户
(CAS服务器发现用户有TGC) -> 触发CAS服务器的登录流程 -> 登录成功,CAS告知appA,该用户已登录,同时重定向用户到appA -> appA给CAS一个cookie

退出登录:
用户在appB登出->TGC失效,同时CAS服务器主动告知appA该用户已登出(cookie对应的session失效)->用户再次访问appA时,cookie失效 -> 重定向到CAS,发现TGC也失效 -> 重新登录

posted on 2017-09-26 16:34  qooweds  阅读(212)  评论(0编辑  收藏  举报

导航