我们需要从某种管理面板中终止特定会话(通过会话 ID)的功能。
我尝试使用以下方法:
public static void killSession(String sid) {
HttpSessionContext sc = FacesUtil.getSession().getSessionContext();
HttpSession session=sc.getSession(sid);
session.invalidate();
}
然而
- 会话的 HttpSessionContext 和 getSessionContext() 和 getSession(sessionId) 方法都已弃用(出于看似偏执的安全原因)
- 上面的代码在 ApplicationScoped JSF 托管 bean 中调用时也会得到一个空会话
我正在寻找实现该功能的替代方法。