【发布时间】:2026-01-18 09:35:01
【问题描述】:
我有一个关于会话管理的问题。这是场景。
同一网络上有 3 组用户。有一个 J2EE 应用程序设置为在 60 分钟后结束用户会话。这些组是 A、B 和 C。现在 A、B 和 C 组都登录到 J2EE 应用程序并开始使用它。 A 组用户可以毫无问题地使用该应用程序。 B组和C组虽然被踢出的次数不同,但都在60分钟的设定时间之前。现在来自 A 组的用户转到 B 组的 PC。 B 组用户使用其 AD 凭据登录到他们的 PC,然后 A 组用户登录到 J2EE 应用程序。一段时间后,远在 60 分钟会话时间之前,A 组用户的会话提前结束。
还和我在一起吗?我希望如此。
现在 B 组用户转到 A 组用户的 PC 并执行与上述相同的操作。 A 组用户使用其 AD 凭据登录其 PC,B 组用户登录 J2EE 应用程序。 B 组用户没有超时问题,并且不会在 60 分钟设定的会话结束时间之前被踢出。
哇!所以看起来 J2EE 应用程序并没有终止用户的会话,因为 B 组用户在登录到 A 组用户 PC 时很好。
现在,有人能解释一下这是怎么发生的吗?我在想 Application Server (Websphere App Server 6.1) 可能被配置为做这样的事情,但我不是 websphere 管理员。
对于我可能尝试解决此问题的任何想法或建议将不胜感激。另外,请提出任何问题,因为我知道在解释发生的情况时可能遗漏了一些内容。
谢谢!
【问题讨论】:
-
是否所有用户都遵循相同的路径进入应用程序?
-
是的,所有用户都遵循相同的应用程序路径。
-
不,我们没有使用 cookie。
-
在用户登录(在 B 组的 PC 上)和被“踢出”后,会话 cookie 的外观如何?这些 cookie 的有效性是什么?
-
还有一个问题:被“踢出”的用户到底发生了什么?他们会丢失会话数据吗?他们必须再次进行身份验证吗?
标签: java session jakarta-ee websphere