JSF автоматический вход в соответствии с cookie

У меня проблема с достижением функции автоматического входа в систему для моего приложения JSF, которое защищено архитектурой на основе JSP и сервлетов.

Я использовал LoginBean для поддержки страницы jsf методом конструктора, чтобы проверить, существует ли файл cookie, содержащий учетные данные пользователя, и позволяет ли он автоматически открывать сеанс и перенаправлять пользователя на главную страницу.

Автоматический вход никогда не происходит, и пользователь всегда остается перед формой входа. Что я должен сделать, чтобы это работало?

1 ответ

Решение

Вот вариант, который должен работать. Вы можете сделать что-то вроде этого, как только вы убедились, что они действительны:

final ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();

try {
    HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();

    if (!response.isCommitted()) {
        externalContext.redirect("loggedin.xhtml");
    }
} catch (IOException ex) {
    // log etc.
}
Другие вопросы по тегам