我正在使用 spring+tapestry 来验证网络用户。我想知道是否有任何技术可以强制所有当前登录的用户注销假设我处于站点“处于维护模式”的场景
p/s: 是否可以强制所有用户的运行进程结束,只强制注销
最佳答案
我想到了两件事:
使用
HttpSessionListener
跟踪所有 session 并在时机成熟时使它们无效。要使用它,您将需要ServletContext
中的Set
对象的Session
(或者不太理想 - 作为静态字段)。每当创建或销毁 session 时更新Set
,并在需要失效时迭代该集。使用
过滤器
(映射到/*
),如果满足某些条件(maintenance == true
),使当前 session 无效。因此,所有用户都将在他们的下一步操作时注销。这适用于“维护模式”并不意味着“停止整个服务器”,而是意味着“用户不应执行任何操作,我正在后台做一些不应该受到干扰的重要事情”的情况
关于java - 强制所有 session 注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460642/