Java Blog for Alex Wan

          Let life be beautiful like summer flowers and death like autumn leaves.

          統計

          留言簿(10)

          BlogJava

          Blogs

          DIV+CSS

          JQuery相關

          友情鏈接

          常去的地方

          數據供應

          閱讀排行榜

          評論排行榜

          關于cas原理

          from:http://www.javaeye.com/topic/21770?page=3

          CAS用來標志用戶的token是存在它自己的域名下的,不是存在web應用的域名下的.CAS判斷用戶登錄由agent決定,agent驗證用戶信息有兩種處理.
          1.如果這個用戶是以前沒登錄過的,也就是說這個web應用的域名下沒有一個agent頒發的sessionid(在cookie里)的話,那么它會跳轉到CAS server的登錄界面(這里由CAS server決定是否顯示登錄界面,還是直接就跳轉回來,也就是不是每次都要求輸入密碼登錄的).
          2.CAS的登錄界面會有兩種處理.如果以前沒登錄過,也就是在CAS server自己的域名下,沒有用戶的token的話,就要求登錄.如果有token的話,就返回一個ticket(也就是不顯示登錄界面直接重定向返回了).
          然后接第一步里面,agent收到ticket以后就提交給CAS server驗證,并取得返回信息(是個xml,cas的協議規定的,也可以用saml之類的,這個地方可以取得除了用戶姓名以外的信息,這樣就可以做同步了,權限的問題可以這么解決).然后agent就保存此時的session,把sessionid放到該web應用域名下的cookie里.
          以上邏輯說明了,標志用戶身份的token在CAS server的域名下,每個web應用不保存用戶身份.因此跨域是絕對沒問題的.只是single sign off就需要CAS server的配合了,要把那個token刪掉.
          不過如果標志身份的token不存在,而sessionid存在,那還是被認為是登錄的,只不過是在等待那個session timeout而已.



          Let life be beautiful like summer flowers and death like autumn leaves.

          posted on 2008-06-07 09:19 Alexwan 閱讀(453) 評論(0)  編輯  收藏 所屬分類: J2EE

          主站蜘蛛池模板: 隆回县| 阳西县| 济宁市| 岳普湖县| 新余市| 临洮县| 合山市| 克什克腾旗| 卢龙县| 汨罗市| 中卫市| 和顺县| 方山县| 平顶山市| 英吉沙县| 阜城县| 鞍山市| 万荣县| 盐山县| 家居| 镇沅| 泸西县| 南召县| 庄河市| 宜兰县| 武功县| 宜丰县| 视频| 安仁县| 太湖县| 雅江县| 万载县| 成都市| 高邮市| 紫金县| 盐源县| 乌拉特前旗| 上蔡县| 华宁县| 大厂| 富蕴县|