powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Сервер не принимает JSESSIONID в URL Java EE
25 сообщений из 27, страница 1 из 2
Сервер не принимает JSESSIONID в URL Java EE
    #39599854
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сервер Tomcat 8.

web.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <session-config>
        <cookie-config>
            <name>8O8488WlWWgNzAkGCFYAZyj3Bn91CR</name>
            <http-only>true</http-only>
        </cookie-config>
        <tracking-mode>URL</tracking-mode>
        <tracking-mode>COOKIE</tracking-mode>
    </session-config>

</web-app>



Делаю я запрос на сервер http://localhost:81/test;8O8488WlWWgNzAkGCFYAZyj3Bn91CR=6AD977F9B1F4369A932C519BC418FE8D.

Но при этом создаётся новая сессия или берется та которая записалась в куки. Я копировал значение сессии в url, а с кук удалял и по идее он должен был подтянуть с url, но увы.

В чем проблема?
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39599872
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tsyklop,
Я конечно не знаток,но может попробовать
http://localhost:81/test;jsessionid=8O8488WlWWgNzAkGCFYAZyj3Bn91CR=6AD977F9B1F4369A932C519BC418FE8D.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600393
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,

Вы что-то сконфигурировали не объясняя зачем. Нам нужно угадать что именно вы хотели реализовать и затем исправить. Что не так с jsessionid? У вас есть уверенность что ваш конфиг полностью заменяет jsessionid или, всего лишь, дополняеет его некими куками?
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600450
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczTsyklop,

Вы что-то сконфигурировали не объясняя зачем. Нам нужно угадать что именно вы хотели реализовать и затем исправить. Что не так с jsessionid? У вас есть уверенность что ваш конфиг полностью заменяет jsessionid или, всего лишь, дополняеет его некими куками?

Я делаю так:

http://qwerty.localhost:82/Server/chat/connect;8O8488WlWWgNzAkGCFYAZyj3Bn91CR=12DFE4317AA62143439889EC1343FB87 или так
http://qwerty.localhost:82/Server/chat/connect/;8O8488WlWWgNzAkGCFYAZyj3Bn91CR=12DFE4317AA62143439889EC1343FB87
И при этом у меня создаётся новая сессия, хотя в Network видно что сессия передаётся что в куках что я в url передаю.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600452
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

я немного изменил настройки в web.xml. Так можно делать из документации. Если такого не знаете, то уж извините. Что-то еще пояснять нужно. Пример web.xml я привел.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600467
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,

Такой дерзкий. Посмотри ServletContext в рантайме. Попали ли настройки из web.xml в него.
Если попапали, то настрой TRACE или DEBUG логирование в томкате чтобы посмотреть как он сессии создаёт. Я не удивлюсь если там где-то хардкод на jsessionid просочился.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600475
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Проверял уже. все попадает. Да и если б не попали то кука бы ставилась JSESSIONID, а не как я задал.

"Я не удивлюсь если там где-то хардкод на jsessionid просочился." - не понял немножко.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600477
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopBlazkowicz,

Проверял уже. все попадает. Да и если б не попали то кука бы ставилась JSESSIONID, а не как я задал.

"Я не удивлюсь если там где-то хардкод на jsessionid просочился." - не понял немножко.
В томкате, возможно, где-то есть хардкод на jsessionid и поэтому с кастомной кукой не всё правильно работает. Есть смысл прочитать логи создания сессии и проверить исходный код Tomcat.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600480
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Включил DEBUG, но ничего не поменялось. Логов подробных нет. У меня есть свой Listener на сессию. И я вижу что он её создаёт.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600491
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopBlazkowicz,

Включил DEBUG, но ничего не поменялось. Логов подробных нет. У меня есть свой Listener на сессию. И я вижу что он её создаёт.
Вот тут?
https://tomcat.apache.org/tomcat-8.5-doc/logging.html
Там где org.apache.catalina.core.ContainerBase?

Как, вариант, можно поставить точку останова в слушателе, подключить исходники томката и посмотреть по стеку выше по какому именно условию он решил создать новую сессию.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600497
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczTsyklopBlazkowicz,

Включил DEBUG, но ничего не поменялось. Логов подробных нет. У меня есть свой Listener на сессию. И я вижу что он её создаёт.
Вот тут?
https://tomcat.apache.org/tomcat-8.5-doc/logging.html
Там где org.apache.catalina.core.ContainerBase?

Как, вариант, можно поставить точку останова в слушателе, подключить исходники томката и посмотреть по стеку выше по какому именно условию он решил создать новую сессию.

Вот такое у меня есть в конфиге:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = FINEST
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = FINEST
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = FINEST
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler

FINEST поставил я. Это значит debug из документации
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600506
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Кароче вместо своего название сессии поставил JSESSIONID и походу все заработало. Походу его захардкодили.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600510
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Нет. перестало работать
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600511
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopВ чем проблема?А откуда вы взяли, что в session-config можно записать загадочный параметр NAME?
Лично я в документации котяры ничего такого не вижу.
зато есть The Context Container
...
cookies
Set to true if you want cookies to be used for session identifier communication if supported by the client ( this is the default ).
Set to false if you want to disable the use of cookies for session identifier communication, and rely only on URL rewriting by the application.
...
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600518
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

потому что гугл подсказал что так можно. И это работает. Если бы не работало то нельзя было писать там такое.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600519
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovпараметр NAME?
Лично я в документации котяры ничего такого не вижу.[spoiler зато есть]http://tomcat.apache.org/tomcat-8.0-doc/config
Так это сервлеты 3.0/3.1, к томкату это прямого отношения не имеет. В XSD есть. В ServletContext есть аналогичные методы, можно явой сконфигурировать.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600523
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я и пытался в спеке сервлетов отыскать. Даже в xsd заглянул.
Только не нашёл ни самого параметра, ни описания - что же он должен делать.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600527
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopпотому что гугл подсказал что так можно. И это работает. Если бы не работало то нельзя было писать там такое.Сразу три заблуждения.
1. Гугл много чего подсказывает. В диапазоне от очевидной банальщины до неочевидной лжи;
2. У вас - не работает;
3. Нельзя написать потому, что будет ошибка и можно написать, но будет только запись в логе - разные вещи.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600530
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Если что-то не так в web.xml у меня сервер не стартует вообще.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600532
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Это запись (в web.xml) работает, так как кука мне ставится с именем именно тем которым я указал в web.xml
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600537
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

https://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-common_3_1.xsd
https://docs.oracle.com/javaee/7/api/javax/servlet/SessionCookieConfig.html

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
  <xsd:complexType name="cookie-configType">
    <xsd:annotation>
      <xsd:documentation>

        The cookie-configType defines the configuration for the
        session tracking cookies of this web application.
        
        Used in: session-config
        
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name"
                   type="javaee:cookie-nameType"
                   minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>

            The name that will be assigned to any session tracking
            cookies created by this web application.
            The default is JSESSIONID
            
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600539
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopНет. перестало работать
Так если JSESSIONID не работает, то дело, может не в конфиге, а в CORS и HTTP-Only?
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600543
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczTsyklopНет. перестало работать
Так если JSESSIONID не работает, то дело, может не в конфиге, а в CORS и HTTP-Only?

Ну HTTP-Only же отвечает за то что эту куку нельзя получить js и все. Не знаю как она может на такое влиять.


А вот CORS...

Просто я создал пустую страницу /blank.
Перехожу на неё так http://localhost:82/blank;8O8488WlWWgNzAkGCFYAZyj3Bn91CR=C3425859924EBB7E5CA54144F47EE1EE , и у меня все нормально, то бишь id сессии берется с url.
Хотя тот запрос ничем по сути не отличается.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600545
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда, вероятно, проблема в том, что синтаксис http-запроса:
Код: plaintext
 метод://хост/ресурс ? имя1=значение1
а не:
Код: plaintext
 метод://хост/ресурс : имя1=значение1
Ну и доку, в которой указано умалчиваемое поведение отслеживания сессий - тоже надо посмотреть.
...
Рейтинг: 0 / 0
Сервер не принимает JSESSIONID в URL Java EE
    #39600552
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovТогда, вероятно, проблема в том, что синтаксис http-запроса:
Код: plaintext
 метод://хост/ресурс ? имя1=значение1
а не:
Код: plaintext
 метод://хост/ресурс : имя1=значение1
Ну и доку, в которой указано умалчиваемое поведение отслеживания сессий - тоже надо посмотреть.

параметр не канает. тем не : , а ; . Локально все работает правильно. Значит дело походу в CORS
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Сервер не принимает JSESSIONID в URL Java EE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]