Nie jestem w stanie zrozumieć, co się dzieje. Na jednym z env. mojej aplikacji webowej (napisanej przy użyciu ExtJS 4.0) - widzę, że żądanie logowania zakończyło się sukcesem, ale kolejne żądanie kończy się niepowodzeniem z 401.Tylko plik cookie JSESSIONID ustawiony od pierwszego żądania logowania nie jest wysyłany w kolejnych żądaniach?
Po wykopaniu więcej znalazłem w przeglądarce (F12), że nagłówek odpowiedzi pierwszego żądania ma JSESSIONID, czyli ustawić jako plik cookie, ale drugie żądanie nie wysyła go w nagłówkach żądania. Dlatego drugie żądanie tworzy nową sesję i zwraca nowy JSESSIONID.
W kodzie klienta, w którym wysyłane jest żądanie,
Ext.Ajax.request({url:'', callback..})
- NIE ma wyraźnego ustawienia JSessionId ani żadnego pliku cookie.
Dziwną częścią NIE jest WSZYSTKIE klucze cookie, tylko JSESSIONID, co oznacza, że pliki cookie nie są wyłączone i ustawione przez przeglądarkę.
Dlaczego przeglądarka nie wysyła JSESSIONID? Próbowałem tego w firefox/chrome zarówno.
To samo dzieje się tylko w moim lokalnym środowisku. QA env. z webapp działa dobrze.
Co dokładnie zrobiłeś? Zdarza mi się to samo z ExtJS 6: C –
@AlfonsoNishikawa Wyszukaj wartość sessionCookiePath w global context.xml, może to być ustawione na niestandardową ścieżkę, w której przeglądarka zapisuje plik cookie, więc musisz upewnić się, że jego wartość jest poprawna, tj. Kontekst świadomy – akjain