第一步:在Servlet/Action/Controller裏面將Session殺掉。
session.invalidate();
第二部:重定向到CAS服務器申請logout
response.sendRedirect("https://yourIp:8443/cas/logout");
完成!
原理很簡單:
本地把Session殺掉,讓CAS本地的Filter找不到它要的登錄標記,它沒的選擇只能向CAS服務器請求登錄。
發送Logout請求給CAS服務器,讓服務端註銷掉登錄標記,這樣無法登陸到其他系統。
注:單點登錄成功後客戶端的Ticket就立刻失去作用了,Logout的時候不需要對Cookie做任何修改,改了也沒用。
不需要去查看Session和Cookie裏面那些值對,沒意思,直接殺Session......