2015-11-09 60 views
0

我有一个Tomcat 7网络服务器。 登录后,我可以看到在Cookies下有jsessionid,从我读的是保存用户和Web服务器之间的会话实例的ID。jsessionid即使重新启动重新安装服务后保存和使用

但我不明白的是,我登录后,我留在浏览器。 我可以停止服务器,即使从系统中安装它并重新安装它。 然后我重新启动后,我可以继续在网站中导航,而无需输入凭证或类似的东西,就好像背景中没有任何事情发生一样 - 我可以继续使用相同的jesssionId。

所以基本上我会把我的问题分成子问题,这样会更容易回答: 1.在停止服务甚至不安装服务之后,它甚至有可能发生这种情况? 2. jesessionID创建的令人兴奋吗?我的意思是说它有可能是相同的jsession id? 3.何时正在创建jsessionID? 4.是否有可能改变这种行为并使会话“无效”,这样用户将不得不重新输入他的凭证? 5.在问题#4之后,大多数服务中常见的是什么?需要再次登录还是启用旧会话ID的使用?

非常感谢!

+0

如果您使用的版本高于Tomcat 6,则可以在管理器应用程序中终止会话。 – developerwjk

+0

您能否详细说明一下?我什么时候这样做?如何在服务器关闭时执行该程序?等等 关于其他问题的任何想法? – slashms

回答

1

在回答你的问题:

  1. Tomcat的session Manager将序列化会话数据,并将其保存到一个文件跨重启坚持它。你可以disable这个。
  2. Tomcat的SessionId Generator决定了id的创建方式。
  3. 这里一个很好的答案创建会话ID时:Under what conditions is a JSESSIONID created?
  4. 如果你的目标是一个Tomcat重启后无效会话,您可以通过禁用会话持久性做到这一点。
  5. 通常情况下,用户需要被视为“登录”,直到他们点击应用程序中的“注销”链接或按钮。如果您希望会话在一段时间不活动后过期,您还可以调整会话过期时间。这应该如何工作取决于你的应用程序的用例。