我尝试在JSF 2.0中执行注销功能。首先,我给AUTH_KEY记录用户。注销后我删除了这个用户的AUTH_KEY。 对于不删除的用户会话,我的问题是无法注销。
登录功能部分:
if (startupInfo.getConnectionId().equals("success")) {
FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap()
.put(AUTH_KEY, loggedUserInfo.getUserId());
return "success";
}
退出
public String logout() {
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove(AUTH_KEY);
return "logout";
}
答案 0 :(得分:0)
您应该在注销方法中使HTTP会话无效。删除用户信息不会导致会话终止:
HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
.getExternalContext().getSession(false);
if (session != null) {
session.invalidate();
}