Java SessionID: как получить имя параметра GET SessionID? - PullRequest
1 голос
/ 12 ноября 2009

кажется, что имя параметра в GET-запросе, представляющее SessionID (например, jsessionid = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX в Tomcat), не стандартизировано в спецификации сервлета? Как я могу получить (Servelt Container) имя SessionID? (По крайней мере в Websphere, кажется, есть возможность изменить имя SessionID-Parameter-Name)

=> Основная проблема заключается в том, что мне нужно кодировать URL-адрес в сервлете ALWYAS с идентификатором сеанса. Но похоже, что метод response.encodeURL () делает это только в том случае, если cookie-файлы отключены (=> для этого используется перезапись URL с помощью sessionID в URL).

Какая альтернатива всегда кодировать URL с идентификатором сеанса в сервлете? Поскольку первый вопрос подразумевает, что я хотел создать sessionid самостоятельно, но мне, следовательно, нужно имя-параметра sessionID, которое, как представляется, не стандартизировано, поэтому мне как-то нужно откуда-то получить имя параметра ...)

UPDATE: Намерение состоит в том, чтобы сохранить функциональность SessionManagement, предоставляемую сервлет-контейнером, и не отключать ее полностью. Мне нужно передать URL-адрес обратного вызова в стороннюю систему, которая всегда должна содержать SessionURL. Поэтому я хочу только кодировать этот одиночный URL всегда с sessionID, чтобы минимизировать любые проблемы безопасности ...

Большое спасибо Jan

1 Ответ

3 голосов
/ 12 ноября 2009

jsessionid на самом деле не является параметром запроса, он кодируется в самом URL, а затем декодируется и удаляется контейнером до того, как он достигает вашего контроллера. Значение самого jsessionid можно получить из HttpSession.getId().

Если вы хотите запретить Tomcat использовать файлы cookie, вы можете предоставить context.xml файл *1005* для конкретного кота, содержащий что-то вроде этого:

<Context cookies="false" path="/path/to/my/webapp">
</Context>

Это отключит все куки для этого веб-приложения, и tomcat должен вместо этого автоматически закодировать все идентификаторы сессии в URL.

...