销毁JSF中的特定用户会话

时间:2011-11-20 14:15:40

标签: java jsf java-ee login glassfish

在我的页面中,我有管理用户的管理面板 假设我删除或阻止任何用户,此用户已登录我的网页。

我怎样才能破坏他/她的会话?

用户通过j_security_check登录 (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest().login(getUsername(), getPassword());

使用:

  • JSF 2.1
  • Primefaces 2.2.1
  • Glassfish 3.1

2 个答案:

答案 0 :(得分:2)

您可以在应用程序级别的映射或数据库中放置一些“invalidated”标志,并在每次请求时检查当前用户的“invalidated”标志未设置的servlet过滤器。

答案 1 :(得分:0)

您可以使用sesssionObject.invalidate()方法执行以下操作。

 HttpSession session= 

(HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(true);

 session.invalidate();

会话对象上的invalidate()方法将破坏正在进行的当前会话。