kawhii / sso

cas单点登录系统,其中包括cas认证服务,配置中心,监控平台,服务管理的高可用项目
https://kawhii.github.io/sso
MIT License
937 stars 428 forks source link

单点退出集成 #20

Closed kawhii closed 7 years ago

kawhii commented 7 years ago
  1. 支持单点退出,一个系统退出其他系统必须退出
kawhii commented 7 years ago

https://apereo.github.io/cas/development/installation/Logout-Single-Signout.html

server需要设logoutUrl,退出的url,就是服务url即可

原理:

  1. cas/logout会发出一个请求,给所有的service发送url
  2. cas client 收到该信息,判断是该退出的请求,则退出销毁session

注意: cas-client的filter必须放在第一个

<listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

<filter>
    <filter-name>CAS Single Sign Out Filter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
  <init-param>
        <param-name>casServerUrlPrefix</param-name>
        <param-value>https://passport.sso.com:8443/cas</param-value>
    </init-param>
</filter>
kawhii commented 7 years ago

目前buji不会处理cas收到的通知,目前还不能通过其他客户端退出控制本客户端,目前通过shiro-cas退出,cas-client所有集成的客户端已经实现单点登出功能