第一步:在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......