Можно ли предоставить пользовательское значение JSESSIONID для контейнера? - PullRequest
0 голосов
/ 17 апреля 2020

Я имею в виду значение jsessionid, а не имя повара ie.

Можно ли указать контейнеру создать jsessionid с заданным значением "xyz"?

Например, если значение jsessionid cook ie равно "123", а контейнер не находит его в своем хранилище данных, можем ли мы настроить его так, чтобы оно создавалось с "123" в качестве ключа jsessionid? Например, в этом сценарии не нужно обновлять jsessionid cook ie.

Я пытаюсь найти способ избежать разных jsessionids для каждого пользователя, сталкивающегося с приложением за одним доменом. При таком подходе все приложения могут потреблять один и тот же «jsessionid» повар ie вместо того, чтобы поддерживать отдельные из них.

1 Ответ

0 голосов
/ 17 апреля 2020

Просто настройте обработку сеанса на уровне контейнера (а не по умолчанию, который является уровнем приложения).

Таким образом, все приложения будут использовать один и тот же пул сеансов и пути для каждого приложения. (заголовок ответа Set-Cookie будет иметь Path, который указывает на /)

Самым большим недостатком этого подхода является то, что то, что вы помещаете в сессию, также должно быть доступно на уровне контейнера , Это означает, что вы можете легко помещать примитивные типы в объект HttpSession, но если вы попытаетесь поместить любой класс, который был бы определен App c, в HttpSession, то это не получится.

...