CAS单点登录:单点登出及自定义登出界面(六)
1.单点登出
1.1.参数说明
#配置单点登出
#配置允许登出后跳转到指定页面
cas.logout.followServiceRedirects=false
#跳转到指定页面需要的参数名为 service
cas.logout.redirectParameter=service
#登出后需要跳转到的地址,如果配置该参数,service将无效。
cas.logout.redirectUrl=https://www.taobao.com
#在退出时是否需要 确认退出提示 true弹出确认提示框 false直接退出
cas.logout.confirmLogout=true
#是否移除子系统的票据
cas.logout.removeDescendantTickets=true
#禁用单点登出,默认是false不禁止
#cas.slo.disabled=true
#默认异步通知客户端,清除session
#cas.slo.asynchronous=true
cas 默认登出后默认会跳转到CASServer的登出页。
若想跳转到其它资源,可在/logout的URL后面加上service=jumpurl,例如:https://server.cas.com:8443/cas/logout?service=https://www.github.com
但默认servcie跳转不会生效,需要在 cas服务端的application.properties添加cas.logout.followServiceRedirects=true
这个参数也不一定非要叫 service, 可以通过cas.logout.redirectParameter 来修改它。
另外,默认退出的时候没有任何提示,直接就退出了,若想要有弹出提示,需要添加as.logout.confirmLogout=true。
再另外,有一个cas.logout.redirectUrl的属性,可以配置默认登出之后跳转到的连接,若 配置该属性,service参数将无效。
就算传了service参数,也是走的该页面,所以我们不需要配置此参数。
如果配置了cas.slo.disabled=true 将禁用单点登出。调用登出将无效。
1.2.application.properties添加以下属性
#配置允许登出后跳转到指定页面
cas.logout.followServiceRedirects=true
#跳转到指定页面需要的参数名为 service
cas.logout.redirectParameter=service
#在退出时是否需要 确认一下 true确认 false直接退出
cas.logout.confirmLogout=true
#是否移除子系统的票据
cas.logout.removeDescendantTickets=true
2.自定义登出确认界面
首先找到casConfirmLogoutView.html,将其放在我们的主题目录下。
这里遇到一个问题是,我直接放templates,打包完成后无法进行覆盖。
遂放主题目录下,退出登录页面生效。
这里不知道是不是版本不一样的问题,我的版本是5.3.14,原文博主的是5.3.2。
然后根据自己的需求进行修改即可。