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

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

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

参考:
https://issues.jasig.org/browse/CAS-832
https://issues.jasig.org/browse/CAS-742

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

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

猜你喜欢

转载自lwwnet.iteye.com/blog/1845832