Zdravim,
dekuji za vsechny dosle napady.
Po dalsim zkoumani se ukazuje, ze server (Tomcat) se chova nejak
podezrele ;-)
Pri pristupu z localhostu (links se zapnutymi cookies) na adresu
hostu definovanou v server.xml, se nastavi spravne cookie i pak na
server prichazi. Kdyz tvorim adresu pro redirect, tak cookie
(JSESSIONID) obsahuje aktualni session, metody
isRequestedSessionIdFromCookie() a isRequestedSessionIdValid() vraci
true, metoda encodeRedirectURL (zkousel jsem i encodeResourceURL) je
zavolana, pak vysledna adresa jsessionid neobsahuje - podle me je to
tim, ze si "vsichni" mysli, ze se pouzije cookie. Ale po provedeni
presmerovani je session zapomenuta.
Kdyz v teto situaci ovsem do adresy presto pridam jsessionid s
aktualnim ID, tak vse funguje spravne. Nebo, kdyz se v prohlizeci zakazi
cookies, pak se pridava jsessionid do URL vzdy a opet vse funguje.
Toto podezrele chovani vykazuje pouze jeden server, na vsech
ostatnich se pouzije k identifikaci cookies, kdyz jsou zapnute.
Nesetkal se nekdo s podobnym problemem? Nebo nenapada nekoho, jak
rozlisit, jestli se pritomne cookie bude ignorovat a ma se jsessionid
pridat do URL?
Hezky den
Tomas Zverina napsal(a):
Budeme hadat :-)
Tak ja tipuju, ze u zakaznika je ty aplikaci predrazen Apache jako
proxy. Aplikace je deploynuta do kontexu "/neco" a na ty proxy jsou
pomoci mod_rewrite requesty "/" smerovany na ten kontext "/neco".
Tomcat tedy posila cookies s cestou "/neco", browser se ovsem pohybuje
na "/". Voila - session je ztracena.
No a nebo je to uplne jinak.
Martin Kuba napsal(a):
Jakub Příkazský wrote:
Url bohužel poslat nemůžu, nepodařilo se nám nasimulovat problém jinde.
Ke ztrátám session dochází i při přístupu z localhostu.
Jakub
Tak aspon poslete ta URL na localhost, nejdrvi nejake kde
cookies jeste jsou, pak to, kde uz nejsou. Jinak se takhle
na sucho tezko neco radi.
Makub