【问题标题】:spring security set cookie to null not working春季安全将cookie设置为null不起作用
【发布时间】:2014-11-18 00:46:59
【问题描述】:

当用户注销时,我将 cookie SPRING_SECURITY_REMEMBER_ME_COOKIE 设置为 null。

Cookie cookie = new Cookie(cookieName, null);
String cookiePath = request.getContextPath();
cookie.setPath(cookiePath);
cookie.setMaxAge(0);
response.addCookie(cookie);

上面的代码在我的本地主机中运行良好,当我移动到云服务器时,上面的代码不起作用,它在注销时没有删除 cookie。除了域名转发没有区别。

【问题讨论】:

  • 在注销时尝试使会话无效<security:logout invalidate-session="true" logout-success-url="/myapp/auth/login" logout-url="/myapp/auth/logout" />
  • 会话正在失效,但问题是,记住我功能再次登录。用户注销进入登录页面,为避免自动登录,我正在删除此处不起作用的记住我的 cookie

标签: java spring spring-security setcookie


【解决方案1】:

这可能是您的情况,也可能不是,但在删除 JSESSIONID cookie 方面存在类似的问题。看这里:

Remember-Me cookie 可能会发生同样的事情。注销系统时检查“Set-Cookie”标头(Firebug 就足够了):如果“路径”与存储的 cookie 的路径不匹配(访问登录页面时创建),那么您可能有这个问题在你的环境中。在这种情况下,您可以创建一个自定义 CookieClearingLogoutHandler 来正确清理 cookie。

【讨论】:

    猜你喜欢
    • 2016-08-20
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 2016-11-06
    • 2015-12-16
    • 2023-03-20
    相关资源
    最近更新 更多