session - session 超时时来自浏览器的 HTTP 请求

标签 session notifications httpsession

我的 UI 由两个 HTTP 服务器提供服务。 因此我需要清除两台服务器的 HTTP session 。 对于注销用例来说很简单,但我不清楚如何针对 session 超时用例执行此操作。

服务器端的通知可以通过 HttpSessionBindingListener 实现 Getting notification when bounded/unbounded to a HTTP session 。 但我怎样才能通知客户端呢? 我必须将请求从浏览器发送到第二台服务器才能清除第二台服务器上的 session cookie,因此我无法从服务器端发送请求。

已添加

一台服务器是 Tomcat 8,第二台服务器是 Apache HTTPD 服务器。我想通过 UI 回调来解决这个问题是可能的(来自 Tomcat HTTP servlet 服务器)。

最佳答案

来自 Apache HTTPD (Apache) 文档:

将 session 与外部应用程序集成

https://httpd.apache.org/docs/2.4/mod/mod_session.html#integration

  • 您可以编写自己的模块,然后您可以使用该模块在 Tomcat 认为 session 可消耗后删除 session 。
  • 您可以使用 Tomcat 和 Apache 外部的 session 数据库(例如在 MySQL 中),两个服务器都将使用它来验证用户。删除 session 只需要从数据库中删除条目。
  • 作为独立应用程序:正如文档所述,您需要完成查找和访问 session 文件、破坏它们和编辑它们的工作。如果 Tomcat 和 Apache 位于不同的计算机上,您可以在 Apache 机器上使用带有监听器的代理,并让 Tomcat 请求代理删除 session 数据。
  • Apache 通常与 PHP 一起使用,而且也有数据库。两者都可以有自己的 session 来处理。

关于session - session 超时时来自浏览器的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39576534/

相关文章:

javascript - jQuery cookies,设置上次访问的页面并重定向到新 session 中上次访问的页面

php - Symfony2 session 未按预期工作/ session 不断超时

java - 在 JSP 中设置 session 并在 servlet 中获取 session

php - Codeigniter - 在每个 Controller 功能中设置/检查 session

android - 可选择启动 Activity 并使用来自 Android 服务的通知。仅在存在某个应用程序时启动或通知

amazon-web-services - 使用 REDIS 缓存替换云中的 HTTP session

android - 根据通知重定向到特定屏幕 - android

Android - 如何在 FirebaseMessagingService 类中使用 Realm(非 Activity )

java - 如何在java中创建用于登录和注销的 session

java - HttpSession 通过引用或值存储属性?