0

当 Tomcat 会话到期时,我想确定谁以前登录过,并自动处理登录而不显示登录页面。

这就是我的想法:

  1. 在登录期间,将用户名与会话 ID(来自HttpsSession.getId())一起存储在应用程序变量中。
  2. 如果在没有有效会话的情况下建立连接,HttpServletRequest.getRequestedSessionId()则用于获取上一个会话 ID。
  3. 如果有以前的会话 ID,请对照存储的列表进行检查;如果找到,则处理关联用户的登录。

我知道这不会复活过期会话的数据,这没关系,我只想知道用户名。

这是一个合理的方法吗?或者有更清洁的方法吗?

4

1 回答 1

0

也许您可以使用 Tomcat org.apache.catalina.session.PersistentManager,它可以将空闲会话交换到持久存储(磁盘/数据库)。然后,您可以使会话过期时间更长,而不必担心长时间运行的会话会在内存中徘徊。请参阅http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html

于 2013-05-16T20:39:01.100 回答