`
hanqunfeng
  • 浏览: 1543464 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SpringSecurity3.X--Cas client 配置之配置session-management遇到的问题(2)

阅读更多

关于“SpringSecurity3.X--Cas client 配置之配置session-management遇到的问题(1)”请参看http://hanqunfeng.iteye.com/blog/1217703

 

接着说,按照前文配置的方式,只能迫使用户第一次访问时跳转到指定的“expiredUrl”,但此时,如果你再次访问系统,你会发现,系统会自动重新登录,并跳转到“authenticationSuccessHandler”中指定的“defaultTargetUrl”,相当于重新登录了。

 

这是为什么呢?

 

其实,ConcurrentSessionFilter验证用户过期时,只是将当前的session清除并跳转到了“expiredUrl”,并没有将用户注销,所以,当再次访问系统时,由于会有一个新的session,所以会与cas服务器进行握手验证,这实际上就相当于来了一次“单点登录”,所以,要想使用户真正不能访问系统,就需要将用户注销。

 

那么,该如何做呢?

 

我采用了一个最简单的方式,就是当跳转到“expiredUrl”后,重定向到“LogoutFilter”的“filterProcessesUrl”,这样就会将客户端从cas上注销。

 

这种注销方式,只会将当前客户端注销,而不会影响到其它客户端。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics