java - 强制所有 session 注销

标签 java tomcat servlets tapestry

我正在使用 spring+tapestry 来验证网络用户。我想知道是否有任何技术可以强制所有当前登录的用户注销假设我处于站点“处于维护模式”的场景

p/s: 是否可以强制所有用户的运行进程结束,只强制注销

最佳答案

我想到了两件事:

  • 使用 HttpSessionListener 跟踪所有 session 并在时机成熟时使它们无效。要使用它,您将需要 ServletContext 中的 Set 对象的 Session(或者不太理想 - 作为静态字段)。每当创建或销毁 session 时更新 Set,并在需要失效时迭代该集。

  • 使用过滤器(映射到/*),如果满足某些条件(maintenance == true),使当前 session 无效。因此,所有用户都将在他们的下一步操作时注销。这适用于“维护模式”并不意味着“停止整个服务器”,而是意味着“用户不应执行任何操作,我正在后台做一些不应该受到干扰的重要事情”的情况

关于java - 强制所有 session 注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460642/

相关文章:

java - 来自 Java 的 R

java - 比较两个通用对象,如果一个是 "greater"或 "smaller"

java - 方法 : java. lang.String.getCatalogName() 的签名不适用于参数

java - 如何获取包含参数的请求字符串

java - Eclipse 打开声明/实现悬停菜单为空

java - 单击链接时出现 403 Forbidden 错误。直接在浏览器中输入 url 时工作正常

java - 使用 Tomcat 在 Eclipse 中启动 Spring MVC webapp 时出现问题,IllegalArgumentException

java - 如何将参数从 jsp 页面发送到 servlet?

java - 如何在 servlet 和 jsp 文件之间共享 session 属性?

tomcat - SpagoBI 5.0 - 进入从 SpagoBIStudio 4.1 部署的数据集市时出现黑屏