现在的位置: 首页 > 综合 > 正文

实现CAS单点登出

2013年06月26日 ⁄ 综合 ⁄ 共 4707字 ⁄ 字号 评论关闭

由于项目需求要实现单点登出需要在网上找了N久终于实现单点登出。

使用cas-server-core-3.3.3.jar(CAS Server 3.3.3)

使用cas-client-core-3.1.3.jar(CAS Client 3.1.3)

 

项目结合CAS SpringSecurity SSH

 

普通项目(没有结合Spring Security)的可以在web.xml中加入如下代码

 

在我们的项目中由于结合了SpringSecurity 可以将filter加入到spring Security过滤链中,也可以直接向上面的一样加入web.xml中

首先在web.xml中加入监听器。

 

然后把filter加入到spring Security过滤链中

 




完成。

这样即可实现单点登出。(所有java应用的单点退出)

1)这样实现的效果是在登出的时候CAS Server 分发给各个客户端让各个客户端都登出,这个得让FIlter来获取,例子:一个index页面有两个链接一个指向java应用,一个指向php应用在java应用加filter 后能做出相应的动作退出动作,而对于php自己没加任何filter就没有退出。所以也得写个filter。

 

 

2)由于我们点击退出的时候请求CAS Server 而后Server分发任务让每个应用退出的消息,java程序通过filter来执行退出。PHP提供了一个phpCAS::handleLogoutRequests()来检验服务器发来的信息,

具体我们可以把这个代码放在phpbb3/include/function.php中的点击事件里面代码如下:

抱歉!评论已关闭.