Как настроить тайм-аут сессии для приложения Grails?

В одном из контроллеров в моем приложении Grails я сохраняю значение параметра в переменной сеанса как это:

session.myVariable = params.myValue

После этого я могу получить доступ к сохраненному значению от другого controllers/GSP-pages, пока я активно использую приложение. Однако, если я не использую свое приложение некоторое время, даже при том, что мое окно браузера все еще открыто, переменная сеанса освобождает, это - значение.

Это происходит, потому что сессия истекает? У меня создалось впечатление, что сессия живет, пока окно браузера не все еще открыто, но по-видимому я был неправ.

Что я должен сделать для обеспечения всех переменных сеанса, которые я определяю в своем приложении Grails, не истекают, пока браузер не закрывается? Там какой-либо путь состоит в том, чтобы установить тайм-аут сессии вручную?

Заранее спасибо за Ваши ответы!

58
задан Shashank Agrawal 2 November 2016 в 14:26
поделиться

2 ответа

Другой вариант - изменить web.xml. Прежде вы должны вызвать

grails install-templates

Затем отредактируйте src / templates / war / web.xml и добавьте / измените после servlet-mapping:

<session-config>
   <session-timeout>60</session-timeout>
</session-config>

Значение тайм-аута сеанса использует минуты в качестве единицы.

84
ответ дан 24 November 2019 в 18:48
поделиться

Я могу ошибаться, но я почти уверен, что Grails использует сеансы, связанные с контейнером вашего приложения. Например, если вы используете Tomcat, вы можете указать продолжительность сеанса.

Учебное пособие по изменению продолжительности сеанса Tomcat.

1
ответ дан 24 November 2019 в 18:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: