2014-02-07 51 views
0

我有一个关于弹簧安全性的问题。对于我注销标签我指定无效会话假像下面...设置注销无效会话为假

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

我需要做的因事离奇与并发控制会话超时标签这一点。除非我将invalidate-session设置为false,否则我总会在注销操作中获得会话超时。

我的问题是因为我已经把无效会话假我现在需要的会议程序无效的地方?我所做的是什么影响?

我的应用似乎您注销当你点击退出按钮,我不能得到它,除非我重新登录,因此它看起来有可能无关。但我不禁想到我需要做更多的事情。我不想离开我的申请后门。

感谢

回答

1

的反响是

  • HttpSession中仍然存在,但不再有对它的引用。在会议结束之前它不会消失。这意味着你必须在内存
  • 其他对象如果您存储在HttpSession中任何东西,别人设法取得他们仍然可以使用的会话标识。请注意,用户信息将被清除出了会话,因此,如果您添加了会议
+0

这是一个伟大的答案,这将仅是相关的。谢谢。在我的自定义注销处理程序中执行session.invalidate()的最佳方法是? – Richie

+0

使会话无效的最佳方式是在自定义注销处理程序中使用session.invalidate()。我想我的问题是为什么在你的注销处理程序中使会话失效的原因比使用Spring Security为你做得更好? –