无法删除 JSESSIONID cookie

Posted

技术标签:

【中文标题】无法删除 JSESSIONID cookie【英文标题】:Can't remove JSESSIONID cookie 【发布时间】:2012-01-20 10:37:46 【问题描述】:

我正在使用带有 HttpServletRequest 和响应的 Spring 控制器来删除 cookie。

当我需要删除 cookie 时,我有以下代码:

   Cookie[] allCookies = request.getCookies();

for (int i = 0; i < allCookies.length; i++)

   String name = allCookies[i].getName();
   if (name.equalsIgnoreCase("JSESSIONID"))
   
    logger.info(i + " Name=" + name + " Value=" + allCookies[i].getValue());
    cookieToDelete = allCookies[i];
    cookieToDelete.setValue("");
    cookieToDelete.setMaxAge(0);
    cookieToDelete.setVersion(0);
    cookieToDelete.setPath("/");
    response.addCookie(cookieToDelete);
   

执行此操作后,应删除名称为 JSESSIONID 的所有 cookie。 我的错误是什么?

【问题讨论】:

【参考方案1】:

尝试按照此处How do you remove a Cookie in a Java Servlet 的说明设置内容类型和域。您还可以尝试使用 SessionRegistry 说明here 使会话到期

【讨论】:

以上是关于无法删除 JSESSIONID cookie的主要内容,如果未能解决你的问题,请参考以下文章

将 cookie-config 设置为 httpOnly 并在 web.xml 中保护后无法读取 JSESSIONID cookie

Spring Security:无法删除 JSESSIONID

http 请求头的Cookie中的 JSESSIONID 是什么?

更改 cookie JSESSIONID 名称

在 JSESSIONID cookie 中设置 httponly (Java EE 5)

Chrome 关闭后 Jsessionid cookie 不会过期