2016-02-08 6 views
0

Я запускаю Wicket 6.15, и я заметил странное поведение при аннулировании сеанса пользователя.Wicket invalidateNow() удаляет другие cookie сеанса

После звонка WebSession.get().invalidateNow(), я ожидаю, что JSESSIONID сеанс cookie будет удален.

Я заметил, что JSESSIONID действительно будет удалено, получая заголовок ответа HTTP, который устанавливает истечение куков в значении 0.

Я заметил, что это не ограничивается JSESSIONID, но он также удаляет все остальные сеансовые куки.

Есть ли способ изменить это поведение, так что WebSession.get().invalidateNow() удаляет только JSESSIONID cookie, а остальные файлы cookie остаются нетронутыми?

+0

Я бы не назвал это поведение «странным», я бы назвал его «правильным». Если вы аннулируете сеанс, вы хотите аннулировать все данные, привязанные к сеансу. Вопрос в том, в чем проблема, которую вы пытаетесь решить? – biziclop

ответ

1

Wicket не управляет JSESSIONID или любым другим файлом cookie, созданным приложением. Session#invalidate() и Session#invalidateNow() просто делегируют до javax.servlet.HttpSession#invalidate(), т. Е. Веб-контейнер управляет JSESSIONID.