如何在tomcat中更改会话cookie?

时间:2012-11-14 15:07:37

标签: tomcat session-cookies

当用户注销(或登录)时,我想确保更改用户会话cookie的值。我怎样才能做到这一点?如果我只是session.invalidate() tomcat没有返回会话cookie头,因为没有活动会话,因此cookie保持不变。如果我session.invalidate(); request.getSession()创建一个新会话,新会话将获得相同的sessionId,因此cookie也保持不变。

(我希望更改会话cookie值,因为我们有几个共享一个sessionId的WAR,我也不能轻易地使其他WAR中的会话无效。)

1 个答案:

答案 0 :(得分:1)

您似乎必须通过adding an expired version of the cookie手动删除Cookie到响应中。也就是说,您在request.getCookies()中找到了Cookie,将其maxAge设置为0并执行response.addCookie(..)。您还需要使会话无效,并注意不要在该请求上重新创建会话。这意味着您无法直接显示“您现在已注销”页面,但必须进行客户端重定向到此类页面 - 现在将为其分配新的会话cookie。

相关问题