在切换到spring-session之前如何在spring security中正确注销用户工作正常。我们不想在用户注销后使会话无效。
但是在开始使用 redis 的 spring-session 之后,用户并没有被注销。我现在需要使用new SecurityContextLogoutHandler().logout(request, response, authentication);
这会导致会话无效。有没有办法注销用户而不必使会话无效?
在切换到spring-session之前如何在spring security中正确注销用户工作正常。我们不想在用户注销后使会话无效。
但是在开始使用 redis 的 spring-session 之后,用户并没有被注销。我现在需要使用new SecurityContextLogoutHandler().logout(request, response, authentication);
这会导致会话无效。有没有办法注销用户而不必使会话无效?
这似乎是 Spring Security 的注销机制中的一个错误。要解决它,您可以使用:
SecurityContextHolder.clearContext();
注意解决您应该避免调用的问题
SecurityContextHolder.getContext().setAuthentication(null);