Avatar billede mergelspir Seniormester
05. august 2017 - 20:11 Der er 4 kommentarer

Tomcat: <Context ... sessionCookiePath="/" > ... </Context> vs multiple applikationer på Tomcat.

Mit environment er: Linux/Apache/Tomcat på et webhotel

Jeg har tidligere haft et problem med at jeg mistede min session ID i forbindelse med brug af mod_rewrite.
En nem workaround er at putte <Context ... sessionCookiePath="/" > ... </Context> i min context.xml for Tomcat. OG,... det virker fint!!
Men,... denne workaround skulle forudsætte, at jeg kun har een applikation på Tomcat.

Jeg har nu to tillægsspørgsmål:
1) Hvorfor vil det ikke virke, hvis jeg har mere end een applikation? Hvor er det, at det vil gå galt?
2) Mit andet spørgsmål er: Hvis jeg nu havde to applikationer. Hvad er så den/de alternative måder at løse problemet på?
(Som sagt, så ligger min applikation på et serverhotel, så jeg har ikke adgang til server.xml)

Hvis mine spørgsmål er kryptiske, så relaterer det sig til et tidligere spørgsmål: "Java session ID tabes ved brug af mod_rewrite?!?"

På forhånd tak.
Avatar billede arne_v Ekspert
05. august 2017 - 22:02 #1
Jeg vil ikke sige at det forudsaetter en applikation.

Men der er stor risiko for problemer med mere end en applikation.

Problemet er at med sessionCookiePath="/" saa vil session id blive sendt til alle web applikationer i.s.f. kun den enkelte web applikation.

Web appliaktioner deler ikke session information server side. Saa web applikation A opretter en session id og gemmer nogle data server side, browser sender saa en anden request til web applikation B med den oprettede session id men B har ingen server side data for den.

Jeg ved faktisk ikke praecist hvad der vil ske. Men jeg kan godt forestille mig at det vil give en del problemer.

Og for at goere det endnu vaere saa har de forskellige browsere (IE, FF, Chrome, Safari) lidt forskellige opfattelser af hvordan de skal dele sessioner paa tvaers af browser tabs og vinduer. Hvilket goer at problemerne kan vaere forskellige for forskellige browsere.

Saa hvis man vil undgaa problemer saa:

en web app med session - OK
en web app med login plus flere stateless web apps - OK
to eller flere web apps med session - ikke OK
to eller flere web apps med session plus flere stateless web apps - ikke OK
Avatar billede arne_v Ekspert
05. august 2017 - 22:09 #2
Naeste spoergsmaal : hvad pokker kan man goere?

Godt spoergsmaal.

Jeg er total begynder med hensyn til mod_rewrite.

Saa vidt jeg kan laese mig til saa burde mod_proxy og ProxyPassReverseCookiePath kunne loese det.

Maaske kan mod_rewrite CO option lave det samme.
Avatar billede mergelspir Seniormester
06. august 2017 - 15:58 #3
Med hensyn til:
en web app med session - OK
en web app med login plus flere stateless web apps - OK
to eller flere web apps med session - ikke OK
to eller flere web apps med session plus flere stateless web apps - ikke OK
Så er det bestemt interessant.

Jeg har et internationalt multi language .com site, som jeg vil have landedomæner på (ccTLDs).
Hvordan sætter man smartest det op?
En mulighed er jo at have en web app til hvert domaine, men da koden (bortset fra en resourcefil) er identisk, virker det som en dårlig arkitektur. Derudover vil jeg (hvis det er muligt) gerne kunne skifte fra .fr til .dk uden at miste Session ID.

Jeg har forsøgt at finde en reference arkitektur for multi ccTLDs / multi language sites, men det er ikke nemt :-(

Jeg har løst problemet med et .com domaine med multi languages. (mod_write, og det fungerer nu fint).
Næste trin er udvidelse til landespecifikke domains. Jeg kan ikke lige få øje på en løsning uden at bruge en web app for hvert ccTLDs.
Avatar billede arne_v Ekspert
09. august 2017 - 04:50 #4
Jeg har aldrig overvejet problem stillingen.

Mit foerste gaet vil vaere mod_rewrite fra http://www.foobar.dk/something.jsp til http://www.foobar.com/dk/something.jsp eller http://www.foobar.com/something.jsp?lang=dk.
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