CAS单点退出后,会直接链接到服务器的logout页面,要使系统退出后能返回原来的项目,需要做一些修改。
第一步、服务端cas-servlet.xml配置
<bean id="logoutController" class="org.jasig.cas.web.LogoutController" ... .../>
增加属性 p:followServiceRedirects="true" 如图:
第二步、在自己系统要配置的系统“退出”链接后加上“?service=退出返回后的地址”,例如:CAS测试用的两个客户端的配置。
client2的退出 <a href="http://cas.google.com.cn/logout?service=http://client2.google.com.cn">退出</a>
client1的退出 <a href="http://cas.google.com.cn/logout?service=http://client1.google.com.cn">退出</a>
通常通过以上配置即可实现登出后自定义跳转。但是实际中会遇到session没有清空的情况,所以我们需要在登出的时候对session进行清空。
如下:
session.invalidate();