Как установить SameSite Cookie в процессоре печенья Tomcat?

Tomcat context.xml определяет CookieProcessor (по умолчанию LegacyCookieProcessor)

https://tomcat.apache.org/tomcat-9.0-doc/config/cookie-processor.html

Я пытаюсь добавить атрибут (ы), показанный на процессоре cookie, но, похоже, это не работает

Я не вижу cookie заголовка ответа Tomcat с установленным атрибутом sameSite

3 ответа

В вашем веб-приложении внутри папки META-INF создайте файл context.xml с этим внутри.

<Context>
   <CookieProcessor sameSiteCookies="strict" />
</Context>

Если у вас уже есть файл context.xml, вам просто нужно добавить элемент CookieProcessor.

Такое поведение возможно начиная с Tomcat 9.0.21 и 8.5.42.

Слияние с мастером Tomcat 20 мая 2019 года по запросу Pull 162

Нашел ответ на это:

  1. отредактируйте tomcat/conf/context.xml
  2. Обновите элемент CookieProcessor в следующих строках, например, для установки SameSiteCookies в set-cookie заголовков ответа HTTP.

<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" sameSiteCookies="strict" />

Чтобы дополнить текущие ответы, убедитесь, что версия Tomcat является именно одной из версий, распознающих тот же сайт, например Tomcat 9.0.21. Добавление контекста в tomcat/conf/context.xml обычно является плохой идеей, поскольку оно не зависит от приложения. Чтобы определить контекст приложения, вы можете создать путь к папке внутри Tomcat/conf/{EngineName}/{HostName}/{applicationFileName}.xml. Это эквивалентно добавлению контекста в папку /META-INF. Существует несколько способов определения контекста. Ссылка: https://octopus.com/blog/defining-tomcat-context-paths .

Другие вопросы по тегам