2016-01-26 1 views
0

Я использую реализацию Jetty для javax.servlet.http.HttpSession, и мне нужно установить время истечения в эпоху (время unix). Я искал его и не нашел подходящих результатов. Есть ли возможность сделать это из коробки? Или есть ли простой способ сделать это?Возможно ли установить время истечения срока действия для HttpSession (Jetty impl)

+0

Также я хочу иметь возможность продлить сеанс –

ответ

2

Сессии не имеют срока годности. У них есть срок действия тайм-аут. После N время бездействия сессия заканчивается.

Из-за этого вы будете изучать реализацию своей собственной логики, если вы хотите, чтобы ваша сессия закончилась в определенное время настенных часов.

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

+0

Спасибо за ответ, поэтому, если я положу время ожидания как атрибут, тогда у меня должна быть возможность игнорировать «idleTimeout». Может быть, будет проще использовать мою собственную реализацию HttpSession? –

+0

Это зависит от того, насколько легко Jetty позволяет вам вставлять свой собственный «HttpSession» там. Пользовательский 'HttpSession' был бы чище, нет ничего сложного в моем предлагаемом решении с фильтром сервлета. Затем фильтр сможет выполнять любую логику, основанную на тайм-аутах или сроках истечения срока действия, или на любом другом, что вы решите. – Kayaman

+0

Хорошо, спасибо, теперь я сделаю немного больше исследований и начну выполнять задачу =) –

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