zoukankan      html  css  js  c++  java
  • 【SSO单点系列】(6):CAS4.0 单点流程序列图(中文版)以及相关术语解释(TGT、ST、PGT、PT、PGTIOU)

    CAS 相关的内容好久没写了,可能下周会继续更新一些内容吧。

    在上一篇中的单点流程序列图由于是从官网直接下载来的,上面都是英文,可能有的朋友看不懂,因此修改成中文的。

    PS:只修改了一个,第二个图明天在加...

    在这之前,先解释几个CAS 相关的术语解释吧:

    1.概念相关

    ①.术语解释

    TGT、ST、PGT、PGTIOU、PT,其中CAS1.0协议中就有的票据,PGT、PGTIOU、PT是CAS2.0协议中有的票据。

    CAS为用户签发的登录票据,拥有了CAS成功登录过。CAS认证成功后,TGT对象,放入自己的缓存,CAS生成的cookie,则TGT ,如果有的话,则说明用户之前登录过,如果没有,则用户需要重新登录。

     http://www.coin163.com/java/cas/ticket.html

    ·         TGC (Ticket-granting cookie):

    存放用户身份认证凭证的cookie,在浏览器和CAS Server用来明确用户身份的凭证。

    ·         ST(Service Ticket)

    ST是CAS获取ST。用户向CAS会以此cookie值为key查询缓存中有无TGT,则用此CAS验证,验证通过后,允许用户访问资源。

    ·         PGT(Proxy Granting Ticket)

    Proxy Service的代理凭据。用户通过CAS生成一个PGT对象,缓存在 ·         PGTIOU(全称 Proxy Granting Ticket I Owe You)

    PGTIOU是CAS的serviceValidate接口验证ST成功后,CAS会生成验证ST成功的xml消息,返回给Proxy Service,xml消息中含有PGTIOU,proxy service收到Xml消息后,会从中解析出PGTIOU的值,然后以其为key,在map中找出PGT的值,赋值给代表用户信息的Assertion对象的pgtId,同时在map中将其删除。

    ·         PT(Proxy Ticket)

    PT是用户访问Target Service(back-end service)的票据。如果用户访问的是一个Web应用,则Web应用会要求浏览器提供ST,浏览器就会用cookie去CAS获取ST,而是通过访问proxy service的接口,凭借proxy service的PGT去获取一个PT,然后才能访问到此应用。

    TGTSTPGTPT之间关系

        1)ST是CAS上认证成功后,TGT,用TGT对象,然后把ST的值redirect到客户应用。

        2)PGT是ST签发的。用户凭借ST去访问Proxy service,Proxy service去CAS),如果ST验证成功,则TGT对象。

        3)PT是PGT签发的。Proxy service代理back-end service去CAS根据传来的pgt参数,获取到PGT对象,然后调用其grantServiceTicket方法,生成一个PT对象。

    2.CAS 基本流程图(没有使用PROXY代理)

    3. 使用代理的 CAS 流程图

     

    OVER

  • 相关阅读:
    url 和 php变量传值的关系
    PHpstudy 怎么也启动不了?
    坚决不要360的全盘扫描
    用户邮件可以翻译的-drupal
    drupal网站被黑
    firefox加载不来
    转-潭的感悟
    register globals php
    $GLOBALS -- 变量
    array_merge AaCc
  • 原文地址:https://www.cnblogs.com/vhua/p/cas_6.html
Copyright © 2011-2022 走看看