2012-05-05 5 views
1

Я новичок Vaadin ...сохранить Vaadin данные сессии

Можно ли сохранить данные сеанса, если приложение инициализируется снова?

Я спрашиваю, потому что я попытался установить что-то на сеанс http после обновления страницы, который исчез.

WebApplicationContext ctx = (WebApplicationContext) this.getContext(); 
HttpSession session = ctx.getHttpSession(); 
Object attribute = session.getAttribute("user"); // <- always gets flushed 

Я бы хотел использовать этот подход для аутентификации пользователей. Как это сделать лучше всего?

+0

В вашем 'web.xml' файле, в чем' значение тега сеанса timeout'? – Zakaria

+0

Что вы подразумеваете под инициализацией снова? Вызов Application.close()? –

ответ

3

Совершенно нормально, что атрибут очищается, когда приложение инициализируется снова, потому что, когда приложение снова инициализируется, создается новый Контекст. Поэтому я предлагаю вам использовать http-cookie вместо добавления атрибута самому сеансу, потому что это (насколько я знаю) способ по умолчанию для выполнения функции «помнить меня» на веб-сайтах. Также у вас есть возможность установить дату истечения срока действия файлов cookie.

В качестве подсказки по безопасности я бы порекомендовал вам не использовать данные для аутентификации пользователей на всех сеансах, что можно легко понять и злоупотреблять.

Кроме того я нашел статью и аддон, которые имеют дело с печеньем:

Book of Vaadin - explaining how to set Cookies

Vaadin Addon which deals with Cookies

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