Spring security 将注销无效会话设置为false

Spring security 将注销无效会话设置为false,spring-security,Spring Security,我有一个关于春季安全的问题。对于我的注销标记,我指定了无效会话false,如下所示 <logout invalidate-session="false" delete-cookies="JSESSIONID" success-handler-ref="customUrlLogoutSuccessHandler"/> 我之所以需要这样做,是因为并发控制会话超时标记有些奇怪。除非我将invalid

我有一个关于春季安全的问题。对于我的注销标记,我指定了无效会话false,如下所示

    <logout             
        invalidate-session="false" 
        delete-cookies="JSESSIONID" 
        success-handler-ref="customUrlLogoutSuccessHandler"/>

我之所以需要这样做,是因为并发控制会话超时标记有些奇怪。除非我将invalidatesession设置为false,否则我在注销操作时总是会得到会话超时

我的问题是,因为我已经将invalidatesession设置为false,现在是否需要在某个地方以编程方式使会话无效?我所做的一切有什么影响

当你按下注销按钮时,我的应用程序似乎会将你注销,除非我重新登录,否则我无法获取它。所以看起来好像没什么可做的。但是我忍不住想我需要做更多的事情。我不想给我的申请留下后门


谢谢

后果是

  • HttpSession仍然存在,但您不再有对它的引用。直到会话超时,它才会消失。这意味着您在内存中有其他对象
  • 如果您在HttpSession中存储了任何内容,而其他人设法获取了会话id,那么他们仍然可以使用该会话。请注意,用户信息已从会话中清除,因此只有在添加会话时才与此相关

这是一个很好的答案。谢谢在自定义注销处理程序中执行session.invalidate()是否是执行此操作的最佳方法?使会话无效的最佳方法是在自定义注销处理程序中使用session.invalidate()。我想我的问题是,为什么在logouthandler中使会话无效要比让Spring Security为您做更好?