CAS

CAS(Central Authentication Server)耶鲁大学开发的SSO产品。

服务器端使用 Servlet,通过SSL和客户端传递信息。

CAS java客户端使用Filter技术,拦截需要保护的资源URL。

CAS两种模式:Agent和Proxy

1. Agent模式原理:

   (1)用户访问APP,APP未得到ST,重定向到IDP;

   (2)用户在IDP登录成功之后,IDP生成TGT并放在Agent(浏览器),作为会话标识;

               IDP为RP(APP)生成ST并缓存,ST返回到Agent;

    (3)Agent重定向到APP并出示ST;

     (4)APP得到ST,建立SSL通道将ST发送到IDP进行验证;

    (5)IDP验证ST,清除ST,并返回验证结果;

    (6)APP得到Agent的用户登录状态。

Proxy模式原理:

(1)同Agent模式

(2)同Agent模式

(3)同Agent模式

(4)App得到ST,建立SSL通道,发送ST的同时发送一个PGT URL到IDP

(5)IDP验证ST,清除ST,生成PGT和PGTIOU,并一起发送到APP

(6)APP得到Agent的用户登录状态;并且拿到一个PGT和PGTIOU, PGT被APP保存。

到这里,Proxy验证用户身份完成,同时也拿到了PGT以便作为用户代理去访问其他应用。

下面是App代理用户访问APP2的流程:

(7)APP向IDP发送PGT和APP2标识

(8)IDP验证PGT,生成一个PT(上面写着:APP希望通过代理方式访问APP2),缓存PT

(9)APP接收到PT,向APP2发送请求,带着PT

(10)APP2收到PT,向IDP发送验证请求,参数是APP2标识和PT

(11)IDP验证PT,销毁PT,返回APP代理的用户名称和APP的PGT URL

(12)APP2决定是否愿意让APP代理该用户,如果愿意,则返回数据

(13)APP得到APP2的服务,这样代理过程结束

如果APP又要访问APP3,则重复(7)到(13)的过程

 

几个关键点

1. 安全性依赖:CAS依靠SSL来传递TGT、PGT保证机密性;ST、PT验证一次之后失效,防止重放攻击

2. ST依靠TGT获得,PT依靠PGT获得;

    ST、PT是一次性的,TGT、PGT的生命期是整个会话;

    TGT存放在Agent(浏览器),PGT存放在Proxy(APP)

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/roamoner/archive/2008/07/30/2740770.aspx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值