kawhii/sso

单点退出集成

kawhii opened this issue · 2 comments

  1. 支持单点退出,一个系统退出其他系统必须退出

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>

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