老师,signOut处理的时候便没有清除掉当前服务端session?
来源:5-11 退出登录

0nce_
2019-02-02
我发现当配置配redisSession后,老师的的代码配置的signOut执行后,其实便没有清除掉服务端保存的session信息,仅仅是删除了browser保存的session和redis里面的session,也就是说LogoutFilter和SessionManagementFilter便没有统一.
详情可见,配置http.sessionManagement.maxSessionsPreventsLogin(true),同一个用户执行退出后,再次登录会被阻止登录,debug至sessionConcurrentStrategy.onAuthentication可见,sessions便没有因为/sigOut清除掉,我从昨天开始查找原因,但到现在还是没有理清其中的依赖,希望老师解惑一下
写回答
1回答
-
0nce_
提问者
2019-02-02
解决了,需要替换sessionManagement.sessionRegistry的默认实现,老师讲解的时候单章功能是没有问题的,但是结合在一起的时候就不行了,因为sessionManagement便没有使用redis提供的registry,详情见8.2节
00
Spring Security技术栈开发企业级认证与授权
Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全
2662 学习 · 1561 问题
相似问题