在Spring-Session(Redis)和Spring-security中注销用户而不会使会话无效?

时间:2015-08-13 00:02:42

标签: spring spring-session

在切换到春季会话How to correctly logout user in spring security之前工作正常。我们不希望在用户注销后使会话无效。

但是在开始使用redis的spring-session之后,用户没有被注销。我现在需要使用new SecurityContextLogoutHandler().logout(request, response, authentication);

导致会话失效。有没有办法在不必使会话无效的情况下注销用户?

1 个答案:

答案 0 :(得分:1)

这在Spring Security的Logout机制中似乎是bug。要解决它,您可以使用:

SecurityContextHolder.clearContext();

注意要解决此问题,应避免调用

SecurityContextHolder.getContext().setAuthentication(null);