Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在tomcat中更改会话cookie?_Tomcat_Session Cookies - Fatal编程技术网

如何在tomcat中更改会话cookie?

如何在tomcat中更改会话cookie?,tomcat,session-cookies,Tomcat,Session Cookies,当用户注销(或登录)时,我希望确保更改用户会话cookie的值。我该怎么做?如果我只执行session.invalidate()tomcat不会返回会话cookie头,因为没有活动会话,因此cookie保持不变。如果我执行session.invalidate();request.getSession()要创建新会话,新会话将获得相同的sessionId,因此cookie也将保持不变 (我想更改会话cookie值,因为我们有几个WAR共享一个sessionId,我也不能轻易地使其他WAR中的会话无

当用户注销(或登录)时,我希望确保更改用户会话cookie的值。我该怎么做?如果我只执行
session.invalidate()
tomcat不会返回会话cookie头,因为没有活动会话,因此cookie保持不变。如果我执行
session.invalidate();request.getSession()
要创建新会话,新会话将获得相同的sessionId,因此cookie也将保持不变


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

您似乎必须根据响应手动删除cookie。也就是说,您可以在
request.getCookies()
中找到cookie,将其最大值设置为0,然后执行
response.addCookie(…)
。您还需要使会话无效,并注意不要根据该请求重新创建会话。这意味着您不能直接显示“you now logged out”(您现在已注销)页面,但必须执行客户端重定向到该页面,该页面现在将被分配一个新的会话cookie。

您似乎必须根据响应手动删除cookie。也就是说,您可以在
request.getCookies()
中找到cookie,将其最大值设置为0,然后执行
response.addCookie(…)
。您还需要使会话无效,并注意不要根据该请求重新创建会话。这意味着您不能直接显示“you now logged out”(您现在已注销)页面,但必须执行客户端重定向到该页面,该页面现在将被分配一个新的会话cookie