У меня есть страница входа в систему, и я хочу добавить функцию «Запомнить меня»; так что если пользователь выходит из системы и снова открывает страницу, его имя пользователя и пароль загружаются.
Для этого, когда пользователь входит в систему (и отмечен флажок «Запомнить меня»), я сохраняю следующие файлы cookie:
FacesContext facesContext = FacesContext.getCurrentInstance();
Cookie userCookie = new Cookie("vtusername", username);
userCookie.setMaxAge(3600);
((HttpServletResponse) facesContext.getExternalContext()
.getResponse()).addCookie(userCookie);
Cookie passCokie = new Cookie("vtpassword", password);
passCokie.setMaxAge(3600);
((HttpServletResponse) facesContext.getExternalContext()
.getResponse()).addCookie(passCokie);
Проблема в том, что позже (в том же сеансе) я читаю куки и вижу, что maxAge = -1; хотя я устанавливаю его на 3600 ... почему?
Другая проблема: если я установил cookie-файл безопасным с помощью userCookie.setSecure (true), я не смогу его прочитать (он исчезнет).
Еще один вопрос: так как пароль хранится в cookie, я должен как-то его зашифровать? что такое лучшая практика?
Заранее спасибо