论坛首页 Java企业应用论坛

看罗时飞的书,应用CAS Proxy进行SSO时有个问题问大家

浏览 9229 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-09-13  
现在在研究CAS SSO 参考书是罗时飞的那本ACEGI CAS,有个不明白的地方

在应用CAS Proxy时(注意这里讲的是代理模式),第一个客户系统验证通过后,得到了PGT,第2个系统如果不想再次去输入口令验证,就得用第一个系统中的PGT去计算出一个PT(而且还要在第一个系统内部算出来),然后把这个PT手工加在第2个系统的url后面作为ticket传进去才能通过,是这个意思吗?

那我难道每次都要客户把pt粘贴在url后面吗?是不是我理解错了
   发表时间:2007-09-13  
abirdman 写道
现在在研究CAS SSO 参考书是罗时飞的那本ACEGI CAS,有个不明白的地方

在应用CAS Proxy时(注意这里讲的是代理模式),第一个客户系统验证通过后,得到了PGT,第2个系统如果不想再次去输入口令验证,就得用第一个系统中的PGT去计算出一个PT(而且还要在第一个系统内部算出来),然后把这个PT手工加在第2个系统的url后面作为ticket传进去才能通过,是这个意思吗?

那我难道每次都要客户把pt粘贴在url后面吗?是不是我理解错了


概念性错误!
proxy不是这样玩的(念 di)
1,如果要用proxy,web browser只访问第一个应用,后面的应用由前一个应用代理.
2,PT不是系统算的,是CAS给的
3,带pt的url是第一个系统发起的,不是用户输的

完整的CAS proxy场景打比方说是这样的

1 你去看周杰伦演唱会(我不喜欢周杰伦,但是CAS介绍都拿他打比方)
2 门口检票的不让你过,在你身上挂块牌子写着"这家伙想看周杰伦演唱会",然后把你打发到到联合办票中心
3 你乖乖掏钱买票
4 收到钱后,联合办票中心给你一张周杰伦演唱会的一次性票,并且在你身上别人看不见的地方又挂了块牌子"这家伙付过钱了,三小时内可以随便进出协议宾馆,酒店,洗浴中心,桑拿会馆......",这块牌子就是cas 1.0 模式的TGCookie,proxy里不使用.
5 办票中心知道你要看周杰伦演唱会,就把你送回来,还把票给保安.
6 保安收到票还不放心,亲自跑到联票中心,用这张票查一下,果然abirdman同学付过钱了.票被收回去了,但是又多拿回一个牌子,这块牌子上写着"见此牌,如abirdman亲临",还好,这块牌子不是一次性的,保安好好的保管着.这块牌子就是PGT,而且是通过PGTURL把牌子送回来的.但是这牌子只有去联票中心才管用,别人不吃这一套.
7 你看着周杰伦演唱会,忽然想起李宇春来了,作为一个"玉米",你很不好意思的问保安,能不能给我弄张李宇春的签名?
8 保安虽然很愤怒,但是本着顾客是上帝的原则,答应试试.他穿好制服,拿起那块牌子又跑到联票中心去了(我们的保安真辛苦),联票中心很讲信誉,又发给了张票(PT)给保安,说用这个可以换李宇春签名.
9 保安帮你跑到李宇春这,把票子给李宇春,李宇春将信将疑,什么人那么大本领,能拿到我的签名.喂喂,那个谁,就是你,看帖的,帮我跑跑腿,看看这张票是不是真的.
10 李宇春的保安拿着票,也跑到联票中心,果然这张票是真的,不过也是一次性的,票也被收回去了.
11 李宇春写个签名交给周杰伦的保安.
12 周杰伦的保安把签名给了你.

看懂了?没看懂我也没办法了.
9 请登录后投票
   发表时间:2007-09-13  
楼上正解
0 请登录后投票
   发表时间:2007-09-14  
呵呵 二楼的说的很有意思呀。

最近也要做个sso的东东,正在看。proxy的模式有点绕,而且使用面也很小就没再研究。

个人感觉把CAS基本模型的原理搞明白就行了。
0 请登录后投票
   发表时间:2007-09-14  

罗时飞的书,极差。

那本《精通Spring》,就是黑色背景,一个正方体冰块中包了一个房子的封面,差到家了。通篇堆砌SPRING源代码和配置文件。举的例子都不完整,语言晦涩难懂,根本就是baidu/google来的。

那本书让我扔了。以后再也不买他的了。
也不买那个“飞思科技”的书了。
1 请登录后投票
   发表时间:2007-09-14  
天啊,居然还有人买罗时飞的书。
1 请登录后投票
   发表时间:2007-09-20  
不会吧。精通Spring 2.0很不错的,还有那本讲acegi的
0 请登录后投票
   发表时间:2007-09-26  
全的Java系统》一书中采用了B/S应用演示PGT/PT,这只是处于论述问题方便而考虑的,这一点在书中已经作了交代(书中P464-P.467作了交代,尤其是P464-P465对PGT/PT的问题背景作了详细介绍)。如果愿意,则你也可以在B/S应用中通过PGT/PT实现SSO,但这不是 Web SSO,也不是建议的做法。

这里再强调一点,PGT/PT主要用于非B/S应用的场合。

所以,你的理解存在问题,但并不表示书中存在错误。

以后类似问题你可以直接发邮件给我,同时我会在这几天公布出一免费的邮件列表,专门用来回答读者问题,广大的读者(包括你)在订阅这一邮件列表后便能够参与到问题的讨论中。

具体见http://www.open-v.com

谢谢!
9 请登录后投票
   发表时间:2007-09-26  
我是罗时飞,刚看到你的问题。PGT/PT主要用于非B/S应用的场合,如果目标应用(服务)都是B/S应用,则不会涉及到PGT/PT的使用。至于《敏捷Acegi、CAS-构建安全的Java系统》一书中采用了B/S应用演示PGT/PT,这只是处于论述问题方便而考虑的,这一点在书中已经作了交代(书中P464-P.467作了交代,尤其是P464-P465对PGT/PT的问题背景作了详细介绍)。如果愿意,则你也可以在B/S应用中通过 PGT/PT实现SSO,但这不是Web SSO,也不是建议的做法。

这里再强调一点,PGT/PT主要用于非B/S应用的场合。

所以,你的理解存在问题,但并不表示书中存在错误。

以后类似问题你可以直接发邮件给我,同时我会在这几天公布出一免费的邮件列表,专门用来回答读者问题,广大的读者(包括你)在订阅这一邮件列表后便能够参与到问题的讨论中。

谢谢!
9 请登录后投票
   发表时间:2008-02-26  
罗的书就第一本精通spring比较差,后面的敏捷acegi还凑合。我访问了他的blog,感觉他对一些东西理解的还挺透的。还期待他那本cruisecontrol,不知道写的怎么样。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics