看起来您差不多已经掌握了,但是我认为问题是您正在过早地从中删除信息SessionRegistry
。在ConcurrentSessionFilter执行对当用户发出请求的当前会话的检查,并且在这一点上,注销过期会话并使其无效。由于您已经删除了该会话的信息,因此找不到该信息,并且不会执行任何操作。
尝试删除该行:
sessionRegistry.removeSessionInformation(info.getSessionId());
如何使用Spring Security以编程方式注销用户
看起来您差不多已经掌握了,但是我认为问题是您正在过早地从中删除信息SessionRegistry
。在ConcurrentSessionFilter执行对当用户发出请求的当前会话的检查,并且在这一点上,注销过期会话并使其无效。由于您已经删除了该会话的信息,因此找不到该信息,并且不会执行任何操作。
尝试删除该行:
sessionRegistry.removeSessionInformation(info.getSessionId());