shiro + cas 4.04 單點退出 登出
假如你已經整合了shiro +cas的情況下。由於登出cas成功後,是cas登出成功頁面,無法跳轉到客戶端登陸頁面。發生這種情況如何處理:
客戶端:配置如圖
注意,redirectUrl 中
${cas.server}/logout 是cas 服務端登出地址,負責清除認證中心全域性會話TGT,同時清掉cookie中TGT的id:TGC
注:TGT和TGC的關係:使用者和認證中心之間建立起了全域性會話,這個全域性會話就是TGT(Ticket Granting Ticket),TGT位於CAS伺服器端,TGT並沒有放在Session中,也就是說,CAS全域性會話的實現並沒有直接使用Session機制,而是利用了Cookie自己實現的,這個Cookie叫做TGC(Ticket Granting Cookie),它存放了TGT的id,儲存在使用者瀏覽器上。
?service=
伺服器端:配置如圖
cas-servlet.xml路徑:WEB-INF/cas-servlet.xml 中找id=”logoutAction” 將cas.logout.followServiceRedirects:false 改為true,最後重啟cas伺服器和客戶端就可以了。
由於平時很少寫部落格,寫的很差,請多見諒。
這裡推薦下我的開源專案:
hxyFrame是一個OA辦公系統,採用流行的框架springMvc+spring+mybatis+shiro+ehcache開發,還集成了許可權管理(選單許可權、資料許可權),完善的程式碼生成器,solr全文搜尋引擎,activiti工作流程引擎,cas單點登陸等功能,後期還會考慮改造成Dubbo微服務化,做到模組的相對獨立,使用更加靈活,努力做到快速開發OA辦公系統。 感興趣可以Watch、Start持續關注專案最新狀態,加入QQ群:210315502
oschina倉庫:
github倉庫:https://github.com/huangxianyuan/hxyFrame.git