在php和jsp之间共享会话

时间:2011-11-03 05:47:15

标签: php jsp session

我们有一些用JSP编写的网页和一些用PHP编写的网页。

我们要完成的是,每当用户登录(通过PHP页面)时,我们都希望保存会话信息(用户ID,登录时间等)并在访问JSP页面时使用相同的信息

我们如何使用相同的会话ID彼此共享JSP和PHP会话信息?

有没有办法做到这一点,或者它们是否自动相互兼容?

1 个答案:

答案 0 :(得分:3)

您应该有一个通用的分布式会话管理,PHP和JSP页面将使用它来检索sesssions。您还需要具有JSP和PHP的请求包装器,它们会覆盖getSession()并将会话管理委派给您的自定义分布式会话管理。

我不知道如何在PHP中包装请求,但对于JSP,您可以使用一个过滤器来创建请求包装器。

常见的分布式会话管理应该关注会话管理生命周期,例如:

  1. 如果不存在具有给定ID的会话,则创建会话。
  2. 如果会话存在且具有给定的ID,则查找会话。
  3. 当用户注销时,即当页面执行会话失效时,会话无效。
  4. 如果会话在给定的超时时间内处于空闲状态,则会使会话无效。会话管理线程应该以给定的时间间隔验证会话,并使超过超时值的会话无效。