美文网首页
CAS单点登录基本原理

CAS单点登录基本原理

作者: 大树8026 | 来源:发表于2018-12-05 09:14 被阅读0次

    一、几个概念
    TGT(Ticket Grant Ticket):是cas服务端为用户签发的登录票据,封装了cookie和用户信息,有TGT代表用户已经登录过。
    TGC(Ticket Granting Cookie):可以理解成TGT的cookie,cookie的值就是TGT的ID。
    ST(service Ticket):cas服务端签发的访问某个服务的票据,server用TGT去签发ST

    二、基本原理
    现有webClient1、webClient2访问CASServer,分析流程:

    1、首先:请求webClient1
    1)、请求webClient1的request被CASAuthencationFilter拦截,将该请求的url作为sevice参数,重定向至cas/login;
    2)、CAS检测到请求中没有TGC,跳转至自己的登录界面;
    3)、登录验证通过,CASServer生成TGT和ST,并将TGT的id写到浏览器(TGC),将ST做为参数,重定向至webClient1。
    4)、此时webClient1的CASAthencationFilter会通过,此时被TicketVaildationFilter拦截,这个过滤器发送httpClient请求去验证ST的正确性,server验证通过,将用户信息写到wenClient1的session中。
    现在SSO会话就建立起来了。

    2、然后,再次访问webClient1,会直接去自己的session中拿取用户信息,不需要服务端验证。

    3、浏览器未关闭情况下访问webClient2
    1)、webClient2检测自己的session中没有用户信息,request被CASAuthencationFilter拦截,将该请求的url作为sevice参数,重定向至cas/login;
    2)、此时请求中会有TGC,CASServer会根据TGC查找到TGT,然后用TGT去签发ST
    接下来就是1.4中的步骤了。

    相关文章

      网友评论

          本文标题:CAS单点登录基本原理

          本文链接:https://www.haomeiwen.com/subject/fzzbcqtx.html