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而已.
yale cas實現原理及其基礎協議:
cas原理介紹
cas用來標誌使用者的token是存在它自己的網域名稱下的,不是存在web應用的網域名稱下的.cas判斷使用者登入由agent決定,agent驗證使用者資訊有兩種處理.1.如果這個使用者是以前沒登入過的,也就是說這個web應用的網域名稱下沒有乙個agent頒發的sessionid 在cookie裡 ...
cas原理介紹
cas用來標誌使用者的token是存在它自己的網域名稱下的,不是存在web應用的網域名稱下的.cas判斷使用者登入由agent決定,agent驗證使用者資訊有兩種處理.1.如果這個使用者是以前沒登入過的,也就是說這個web應用的網域名稱下沒有乙個agent頒發的sessionid 在cookie裡 ...
cas原理分析
1 基於cookie的單點登入的回顧 基於cookie的單點登入核心原理 2 統一認證中心方案原理 在生活中我們也有類似的相關生活經驗,例如你去食堂吃飯,食堂打飯的阿姨 www.qiandu.com 告訴你,不收現金。並且告訴你,你去門口找換票的 passport.com 換小票。於是你換完票之後,...