【发布时间】:2013-06-13 03:06:20
【问题描述】:
我在 Tomcat 7 中有一个 Web 应用程序,它将用户信息作为 DTO 对象保存在会话中。我还为我的项目启用了 Spring 安全性,如果用户没有会话,它会自动将用户重定向到登录页面。
如果我登录到我的应用程序一次,然后我在 Eclipse 中重新启动 Tomcat,那么会发生我的会话被刷新但 cookie 没有消失。
这意味着在服务器重新启动后会话中没有 UserDto 但有效的 JSESSIONID 保留在浏览器中。因此,spring security 仍然认为用户已登录,而实际上他并未登录。
为什么会这样? (我通过在 Firefox 中查看页面信息来检查 JSESSIONID cookie 的类型 - Expire: At end of session。因此,理想情况下它应该在服务器重启时过期,还是不应该?)
编辑:虽然 Firefox 说 Expire: At end of session,但如果我关闭并重新启动 Firefox,cookie 仍然存在。
【问题讨论】:
标签: java jakarta-ee tomcat servlets