老师,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节

0
0

Spring Security技术栈开发企业级认证与授权

Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全

2662 学习 · 1561 问题

查看课程