Отключите jsessionid через заголовок http (cookie) в Tomcat 7 - PullRequest
5 голосов
/ 27 сентября 2011

Я хочу отключить использование jsessionid в заголовках https. Есть ли способ отключить или отключить этот параметр в качестве файла cookie в Tomcat 7?

Я хочу, чтобы jsessionid был встроен в пары значений имени URL-адреса метода GET или был частью пары значений имени запроса POST.

Я знаю все преимущества и недостатки использования сеансов на основе файлов cookie и перезаписи URL-адресов, но у меня есть особые потребности для конкретного использования спокойных веб-служб.

Мне нужен Tomcat 7, чтобы принимать jsessionid без использования заголовка http: jsessionid.

Спасибо.

ОБНОВЛЕНИЕ:

поэтому я осмотрелся еще немного и обнаружил это , которое реализовано с помощью web.xml conf.
Однако следующее не похоже на работу с Tomcat 7.

<session-config>
    <tracking-mode>URL</tracking-mode>
</session-config> 

Это случай, когда TC7 не полностью реализует спецификацию сервлета 3.0?

1 Ответ

4 голосов
/ 29 сентября 2011

Настройка web.xml работает для меня с Tomcat 7.0.20.

Записывайте и проверяйте эффективные (и, возможно, стандартные) режимы отслеживания сеансов:

logger.info("default STM: {}" , servletContext.getDefaultSessionTrackingModes());
logger.info("effective STM: {}" , servletContext.getEffectiveSessionTrackingModes());

Возможно, ваше приложениепереопределить где-нибудь в коде режимы отслеживания сеанса.Пример:

final Set<SessionTrackingMode> trackingModes = 
    Collections.singleton(SessionTrackingMode.COOKIE);
servletContext.setSessionTrackingModes(trackingModes);

Проверка ServletContext.setSessionTrackingModes () вызовы в вашем коде.

Также возможно установить режимы отслеживания сеансов по умолчанию в Tomcat.настройки контекста но я обнаружил, что настройки web.xml переопределяют их.

...