Wicket invalidateNow() удаляет другие файлы cookie сеанса.

Я использую Wicket 6.15 и заметил странное поведение при аннулировании сеанса пользователя.

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

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

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

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


person hhaider    schedule 08.02.2016    source источник
comment
Я бы не назвал такое поведение странным, скорее, правильным. Если вы аннулируете сеанс, вы хотите аннулировать все данные, связанные с сеансом. Вопрос в том, какую проблему вы пытаетесь решить?   -  person biziclop    schedule 09.02.2016


Ответы (1)


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

person martin-g    schedule 09.02.2016