Откуда на сервере jboss берется значение для JSESSIONID?

Рейтинг: 0Ответов: 1Опубликовано: 16.12.2014

(изменил)
Исследую ошибку на продакшен-сервере, которая не воспроизводится на других серверах (с таким же приложением). Выяснил, что у всех имеется кука JSESSIONID, которая имеет вид JSESSIONID=хардыбарды.appname , где appname имя приложения. И вот обнаружил, что когда приложение appname выполняет ту самую ошибку (после аутентификации), значение JSESSIONID, равняется то хардыбарды.appname-a, то хардыбарды.appname-b (название условно).

Ответы

▲ 1Принят

У каждого сервера имеется схема реализации механизма сессий - по-научному это называется Session Management. Грубо говоря, вендор сервера волен в реализации интерфейса HttpSession (и не только его) так, как ему удобно. JBoss реализует это через куки с идентификаторами JSESSIONID.

В принципе некоторые сервера допускают изменение менеджера сессий, есть подключаемые менеджеры сессий - так что не все так однозначно.

Update

Можно ли задать значение имени сессии как-нибудь самому?

Это называется Session Replay Attack или по-другому при обнаружении злого умысла ст. 272 УК РФ - Неправомерный доступ к компьютерной информации - так что имейте в виду. :)