cas如何实现单点登出啊?

弧线之内 发布于 2018/05/29 10:35
阅读 1K+
收藏 0

公司现在使用cas,其他都搭建好了,就是无法实现单点登出,很头疼~   先上代码:

版本:5.1.6

服务端:

 

客户端是几个服务一起,A服务作为入口,其他几个服务在A服务下,前端通过ajax调用;子服务ng转,将域名统一在一个host下,避免跨域问题;配置代码:

两个服务配置一样。现在在A服务中退出后并没有让B服务退出,调用B服务的接口依旧可以执行。

logoutFilter是仿照security的登出写的一个过滤器,因为仅使用cas-client的SingleSignOutFilter和SingleSignOutHttoSessionListener并没有实现退出,logoutFilter主要只是session.invalidate()

 

求大哥们指点一下,实在是退不出来,我调试了好久,发现A服务退出后server端根本没有向B服务发送退出请求啊

加载中
0
泥人张
泥人张

客户端如何主动退出登录?

客户端向cas-server发起退出登录请求,cas-server向注册过票据的应用A,B分别发送退出的http请求。这些应用将拦截来自cas-server的http请求。并根据票据的id删除对应的session数据。完成登出

0
泥人张
泥人张

为什么cas客户端与服务端 所在的机器要能 互相ping通?

假如客户端不能ping通服务端,则客户端无法完成票据校验,从而无法登录成功

假如服务端不能ping通客户端,则服务端无法向客户端发起退出请求,从而无法完成退出登录

弧线之内
弧线之内
回复 @泥人张 : 是的,本地就没有通过,根本不敢部署到生产啊
泥人张
泥人张
回复 @弧线之内 : cas-server也在本地吗?
弧线之内
弧线之内
可是我本地调试也无法退出啊
0
弧线之内
弧线之内

有人吗~~~~

0
泥人张
泥人张

你微信是多少,留一个我加你

思羽思羽思羽
思羽思羽思羽
请问退出是需要服务端能ping通客户端吗?
返回顶部
顶部