通过FacesContext销毁其他用户的会话

时间:2016-03-10 14:44:35

标签: session jsf invalidation

我必须确保我的应用程序的唯一会话,因此如果用户通过Chrome浏览器登录我的应用程序然后通过Firefox浏览器登录,我的应用程序必须注意到用户还有其他打开的会话。

现在我将我的bean设置为ApplicationScope管理在登录方法中的这个信息:

FacesContext context = FacesContext.getCurrentInstance();
context.getExternalContext().getApplicationMap().put("userCode" + userCode, user.getUserCode());

所以当用户使用其他浏览器登录时,我的应用程序将userCode与

进行比较
context.getExternalContext().getApplicationMap().get(userCode)

如果userCode存在,则:

context.getExternalContext().getSessionMap().clear();
context.getExternalContext().invalidateSession();

但还不够,因为第一次会话仍然有效。 是否有可能破坏浏览器之间的所有会话?

0 个答案:

没有答案