CAS Single Sign Out 负载均衡登出问题

问题描述:cas登出的时候,发现第二个用户登录打开的session数据是之前用户的,用户session在退出的时候没有清除。

问题环境:应用服务器用apache的反向代理做了负载均衡。

参考:

https://issues.jasig.org/browse/CAS-832

https://issues.jasig.org/browse/CAS-742

分析:cas需要通知用户登录过的所有casclient,但目前cascore代码没有地方存储需要通知后台服务器的url,导致casclient没有正确的通知到。

方案:casserver通知所有负载后的casclient,实现可以根据负载的实现不同而不同,比如我用的负载是通过记录route来区分的,在org.jasig.cas.util.HttpClient的每一次call方法里面对所有casclient的connection请求session中加入routeid.

相关推荐