2012-05-09 5 views
1

Я пытаюсь выполнить функцию выхода в JSF 2.0. Сначала я даю AUTH_KEY для регистрации пользователя. После выхода из системы я удаляю AUTH_KEY этого пользователя. . Моя проблема не работает для выхода из сеанса пользователя, который не удаляется.Как удалить пользователя SessionScoped?

Раздел функции входа:

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

Вы должны аннулировать HTTP сессии в методе выхода из системы. Удаление информации о пользователе только не убивает сеанс:

HttpSession session = (HttpSession) FacesContext.getCurrentInstance() 
         .getExternalContext().getSession(false); 
if (session != null) { 
    session.invalidate(); 
} 
+0

Спасибо Matt.I попытаюсь – user1360797

Смежные вопросы