CAS单点登录-单点登出/退出/注销(十二)
据说cas3.x开始支持单点注销,但我们目前讲的是5.1.x,当然我们加入了单点登录,一般来说都需要单点注销的,让个子系统支持单点注销需要做一些工作
本章目标
重点目标:
A系统需要访问cas输入用户名密码登录,B系统之间通过cas协议能够完成鉴权,B系统退出,A系统也已退出
提示:
有很多朋友问我,怎么做shiro的集成要怎么做怎么做,而shiro已经建议采用buji-pac4j进行集成而不是shiro-cas,但这不是本章的目的,只是说明有必要补充一下pac4j的先关知识,那么pac4j会单独一章/两章一个简单的介绍
LogoutTyle
该配置是配置在service中,如:
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "testId",
"name" : "testId",
"id" : 1,
"logoutType" : "BACK_CHANNEL"
}
NONE:不支持单点登录
BACK_CHANNEL:隐式退出(默认)
FRONT_CHANNEL:显式退出
隐式退出:cas发送通知,业务系统后端主动注销用户
显式退出:cas发送数据给客户端,客户端接收并且注销用户,再转发到cas往下处理注销流程
cas退出流程
由于默认为BACK_CHANNEL,我们只讲BACK_CHANNEL的退出流程
退出流程跟客户端发起的方式参数有关