CAS logout問題釋疑

CAS Logout是一個非常費解的問題,
廣州UG版,網友不停問爲什麼CAS Logout後,仍然能夠訪問應用?
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=29304&threadID=37715&messageID=221727#221727

假設有webapp1, webapp2, cas server,webapp1, webapp2均受cas server保護
首先,我在這裏簡單解釋一下:
第1種不能logout的情況:
1)登錄了WebApp1,redirect到caserver
casserver認證後,再redirect到webapp1,ok!
2)http方式 lougout casserver1,即http://yale_casserver:8080/cas/lougout
顯示logout成功
3)訪問webapp2,還能訪問!
這是非常正常的一種情況,因爲你不通過https來註銷,casserver怎麼"殺"掉
它通過https發給你的TGC Cookie?

第2種不能logout的情況:
1)登錄了WebApp1,redirect到caserver
casserver認證後,再redirect到webapp1,ok!
2)https方式 lougout casserver1,即https://yale_casserver:8443/cas/lougout
顯示logout成功
3)訪問webapp1,還能訪問!訪問webapp2,不能訪問,重定向到casserver要求登錄!
這也是非常正常的一種情況,因爲你已經能夠訪問,你繼續可以繼續訪問,
CASLogout不能阻止你訪問webapp1,它只能阻止你訪問webapp2,因爲你已經
被允許訪問webapp1,而webapp2則還沒有,如果你在(1)的時候,順帶也訪問
webapp2,那麼你的註銷將毫無作用了,CAS無法阻止你訪問這兩個webapp,
因爲你有Service Ticket。

如果你對此費解,那時因爲你已爲Logout就是退出系統,那我只能表示遺憾,
因爲CAS Logout的作用不是這樣,它的作用是阻止你繼續通過TGC(它簡單地
清楚了IE的TGC Cookie)來獲取ST,阻止你獲取通向其他web應用的Ticket。

所以,用完webapp1的時候,註銷,然後再關閉掉IE就徹底Logout了。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章