如果在所有浏览器/标签页/设备上所有JSESSIONID
的库克都不同(并且我有90%的信心,他们有90%的信心),则没有现成的方法可以删除它们
尽管建立这样的机制并不重要。您可以使用单例缓存,例如ConcurrentHashMap
,该会话以会话ID为键,并以用户ID赋值。
您可以通过HttpSessionListener
来填充单身人士,例如here或here
现在,如果要删除所有用户会话,则必须遍历地图,找到用户ID的所有条目,并将其值设置为例如。 null
。
另一个难题是before
过滤器或-interceptor。它应该检查缓存,并在条目具有null
而不是用户ID的情况下执行注销。