gpt4 book ai didi

java - 如何通过 ID 手动杀死特定的 HttpSession

转载 作者:行者123 更新时间:2023-11-30 04:47:29 24 4
gpt4 key购买 nike

我们需要从某种管理面板中终止特定 session (通过 session ID)的功能。

我尝试使用以下方法:

public static void killSession(String sid) {

HttpSessionContext sc = FacesUtil.getSession().getSessionContext();
HttpSession session=sc.getSession(sid);

session.invalidate();
}

但是

  1. HttpSessionContext 和 getSessionContext() 以及 session 的 getSession(sessionId) 方法均已弃用(出于看似偏执的安全原因)
  2. 上面的代码在 ApplicationScoped JSF 托管 bean 中调用时也会获取空 session

我正在寻找实现该功能的替代方法。

最佳答案

是的,出于安全原因,您无法使另一个 session session 无效。您可以做的就是手动将所有 session 存储在管理员可用的某些静态属性中。因此,用户登录后,您将他和他的 session 添加到此属性(通常是一个 Map/HashMap,其中用户作为 key session 作为)。

看看我的旧答案 here你就会明白了。

关于java - 如何通过 ID 手动杀死特定的 HttpSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10631540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com