Avatar billede mergelspir Seniormester
08. november 2016 - 19:00 Der er 3 kommentarer

Java session ID tabes ved brug af mod_rewrite?!?

Kan (og i givet tilfælde hvordan) kan man bevare Java session ID selvom man benytter mod_rewrite på URL'en?

Jeg har følgende regel i min .htaccess:

RewriteRule ^([a-z]{2})/(.*)\.jsp/?$ app/$2.jsp?lang=$1 [QSA]

(Ændrer "eksempel.com/da/x.jsp" til  "eksempel.com/app/x.jsp?lang=da")

Jeg benytter Tomcat/Apache/Linux environment.

Hver gang jeg skriver "eksempel.com/da/x.jsp", får jeg et nyt session ID på serveren.
Hver gang jeg skriver "eksempel.com/app/x.jsp?lang=da" (og herved ikke opfylder regexp-reglen), beholder jeg session ID'et.

På forhånd tak
Avatar billede arne_v Ekspert
08. november 2016 - 19:39 #1
Beskrivelsen er ikke detaljeret nok til at jeg kan sige med sikkerhed hvor problemet er.

Men et godt bud er at det relaterer sig til path i session cookie og at en nem workaround er at putte <Context ... sessionCookiePath="/" > ... </Context> i din context.xml for Tomcat.

Forudsaetter at du kun har en applikation paa Tomcat.
Avatar billede mergelspir Seniormester
09. november 2016 - 23:39 #2
Jeg har kun en applikation, så jeg vil prøve at oprette en context.xml hen over weekenden.
Avatar billede mergelspir Seniormester
20. februar 2017 - 20:54 #3
Så har det endeligt vaeret weekend :-)
Der var ikke nogen context.xml i forvejen at rette i, så jeg har lavet følgende context.xml:

Min context.xml ser således ud:
<Context sessionCookiePath="/" ></Context>
Der er kun denne ene linie!

Og jeg har placeret den i WEB-INF, som jeg forstår er det sted, filen skal ligge som default.

Det gør desværre ingen forskel :-(
Skal der andre besværgelser til?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester