Как получить собственное имя куки в весенней безопасности

У меня есть два приложения A а также B которые работают на одном сервере с разными портами. Поскольку файлы cookie не зависят от порта, эти два приложения используют один и тот же файл cookie. JSESSIONID, Когда я вхожу в один из них, меня выгоняют из другого.

Поэтому мне нужно изменить имя файла cookie для каждого из этих приложений. Как я могу иметь собственное имя файла cookie? Если это поможет, я использую весеннюю безопасность.


Задача решена
Как указал Майкл, мне не нужно было менять JSESSIONID имя вообще. Оба приложения используют один и тот же URL/Path и именно поэтому второе печенье заменяет первое.

1 ответ

Вы не должны изменять имя файла cookie JSESSIONID. Файлы cookie не зависят от порта, но зависят от пути приложения. Поведение по умолчанию - установить cookie JSESSIONID в соответствии с путем приложения, и cookie из одного приложения не должен мешать использованию cookie второго приложения. Я беру spring-security-samples-contacts-3.1.0.RELEASE.war и копирую его дважды в папку webapp того же сервера: test.war и contacts.war. Я открыл оба приложения в одном браузере. Я использую Fiddler и вижу следующее: Когда я вхожу в приложение контактов, Tomcat устанавливает cookie в путь contacts:

Set-Cookie: JSESSIONID=408F79D16A8665C73F5C30D66B102DA6; Path=/contacts/; HttpOnly

Аналогично с тестовым приложением:

Set-Cookie: JSESSIONID=ECAE9734E9A277F1E96D678BB67E558B; Path=/test/; HttpOnly

Тогда я могу без проблем работать с обоими приложениями одновременно

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