【发布时间】:2014-10-12 04:37:23
【问题描述】:
让我解释一下我的场景,
我已经创建了一个 Spring Web 应用程序并部署在 tomcat 上。然后我打开了一个 chrome 浏览器并启动了应用程序。它运行成功。然后我又打开了一个新的浏览器,比如说 IE/Firefox。然后我又重新启动了我的应用程序。然后 Chrome 浏览器上可用的会话应该无效或重定向到登录页面。简单来说,我应该能够一次在一个浏览器中访问我的网页。
有没有办法使用弹簧来实现这一点?还是其他方式??
谢谢 纳文
【问题讨论】:
-
我怀疑 Java-EE 是否为它提供了任何机制。我建议你使用持久数据机制来存储状态,如果有来自同一个 IP 或用户的另一个请求,你可以使来自另一个浏览器的会话无效。当然,必须将状态推送到较早的浏览器。
-
HTTP 是一种无状态协议。您可以记录登录/用户代理对,然后知道用户是否从其他浏览器登录。不同机器上的同一个浏览器怎么样?
-
Spring Security 允许您限制每个用户的并发会话数。
-
@Scary Wombat:感谢您的意见。
标签: java spring jakarta-ee web-applications session-management