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.
}