2011-12-26 1 views
0

I использование Openjdk 7 и JBoss 7.Как использовать идентификатор сеанса в URL-адресе с jboss 7?

Я могу использовать сессии с куки-файлами хорошо. Некоторые клиенты не имеют возможности использовать cookie, поэтому мне нужно передать идентификатор сеанса на сервер по URL-адресу. Когда я пытаюсь сделать это, сеанс не может быть инициализирован (я отключил куки-файлы для тестирования). Я использовал разные переменные в url для передачи идентификатора сеанса, такого как sessionID, jsessionid, sid, но никто не помог инициализировать сеанс по предоставленному id.

Вопрос в том, какая переменная должна содержать идентификатор сеанса в URL-адресе, когда клиент не может использовать файлы cookie, и как настроить сервер jboss для приема идентификатора сеанса с URL-адреса?

ответ

0

Вы не должны изменять URL-адреса напрямую. Трюк для этой работы заключается в том, чтобы ВСЕГДА использовать методы response.encodeURL() или response.encodeRedirectURL() при создании URL-адресов. См. Javadoc here.

Тег JSTL <c:url> использует этот метод для создания URL-адресов. Так что безопасно использовать его.

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

+0

Спасибо! Все мои попытки были с? Jsessionid = как простая переменная get, поэтому я не смог запустить сеанс. response.encodeURL() дает мне правильный формат url с точкой с запятой. (; JSESSIONID =) – Novarg

Смежные вопросы