Я реализую веб-приложение, которое использует сессии. Я использую GWT и механизм приложений в качестве моего клиента / сервера, но я не думаю, что они делают что-то действительно отличное от того, что я делал бы с PHP, apache и т. Д.
Когда пользователь входит в мое веб-приложение, я использую HttpSession, чтобы начать сеанс для них. Я получаю идентификатор сессии, как это:
// From my login servlet:
getThreadLocalRequest().getSession(false).getId();
Я возвращаю sessionId обратно клиенту, и они сохраняют его в файле cookie. Урок, который я использую, устанавливает срок действия этого файла cookie через две недели:
Cookie.write("sid", theSessionId, 1000 * 60 * 60 * 24 * 14); // two weeks
Вот где я запутался: если срок действия файла cookie истекает через две недели, тогда мой пользователь с радостью воспользуется веб-приложением, только однажды зайдет на мой сайт и будет показан экран входа в систему. Какие у меня варианты? Могу ли я просто установить срок действия этого cookie? Таким образом, пользователь должен был бы явно выйти из системы, иначе он мог бы просто использовать приложение навсегда, не выполняя вход снова?
Или есть лучший способ сделать это? Я не могу вспомнить, чтобы такие сайты, как Twitter, когда-либо просили меня снова войти в систему. Я, кажется, постоянно вошел в систему. Они просто не имеют срока действия?
Веб-приложение не защищает какие-либо высокочувствительные данные, поэтому я не против оставить файл cookie, срок действия которого не истекает, но кажется, что должен быть лучший способ?
Это учебник, на который я ссылаюсь:
http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ
Спасибо