【问题标题】:Wicket invalidateNow() deletes other session cookiesWicket invalidateNow() 删除其他会话 cookie
【发布时间】:2016-02-09 21:32:25
【问题描述】:

我正在运行 Wicket 6.15,并且在使用户会话无效时发现了奇怪的行为。

在调用 WebSession.get().invalidateNow() 时,我希望 JSESSIONID 会话 cookie 会被删除。

我注意到JSESSIONID 确实通过获取将 cookie 的到期时间设置为 0 的 http 响应标头而被删除。

我注意到这不仅限于JSESSIONID,它还会删除所有其他会话 cookie。

有没有办法改变这种行为,使WebSession.get().invalidateNow() 只删除JSESSIONID cookie,而保持其他会话cookie 不变?

【问题讨论】:

  • 我不会称这种行为“奇怪”,我宁愿称其为“正确”。如果您要使会话无效,您希望使与会话相关的所有数据无效。问题是:您要解决的问题是什么?

标签: cookies wicket session-cookies jsessionid wicket-6


【解决方案1】:

Wicket 不管理 JSESSIONID,也不管理应用程序创建的任何其他 cookie。 Session#invalidate()Session#invalidateNow() 只是委托给 javax.servlet.HttpSession#invalidate() 方法,即 Web 容器管理 JSESSIONID。

【讨论】:

    猜你喜欢
    • 2013-09-12
    • 1970-01-01
    • 2012-08-12
    • 2016-06-17
    • 1970-01-01
    • 2012-05-23
    • 2010-11-08
    • 2022-01-03
    相关资源
    最近更新 更多