Avatar billede zombietown Nybegynder
18. september 2008 - 14:48 Der er 4 kommentarer og
1 løsning

Webapp uden cookies og jsessionid i urlen

Hej hej

Jeg har lavet en web app som modtager http get requests med nogen parametre i urlen og giver så et svar ud fra dem. Jeg bruger spring webflow og det kører på en tomcat server.

Problemet er at jeg ikke kan modtage jsessionid i cookies eller urlen. Når jsessionid mangler kan den ikke finde ud af hvor langt den er kommet i flowet.

Mit spørgsmål er så. Er det muligt at jeg selv kan danne et jsessionid som jeg så kan gemme og bruge?
Jeg har et unikt id så jeg kan se forskel på brugerne i mit program.

Forklaring af setup.
Brugeren sender et request til en gateway som danner et unikt id. Det id bliver sat på urlen til min webapp og den kalder min side med et get request. Min side svarer tilbage til gateway’en som så sender det tilbage til brugeren. Når brugeren svarer tilbage på beskeden til gateway’en så er alle informationer om cookies eller det jsessionid jeg har sat på urlen gået tabt.
De har i gateway’en ikke mulighed for at gemme nogen informationer om jsessionid eller cookies.

Håber der er en der kan hjælpe.
Rasmus
Avatar billede arne_v Ekspert
18. september 2008 - 16:17 #1
Hvis den der sender requests til dig ignorerer baade cookies og URL rewriting, saa
kan du ikke holde en container managed session.

Men hvis request parameterne indeholder et bruger id som korrekt vil identficere
en "session", saa kan du lave dig en lille singleton med en HashMap med det unikke
id som key, hvor du saa gemmer den information du skal bruge om sessionen.

Ikke en paen loesning, men givet restriktionerne saa er det nok det bedste du kan goere.
Avatar billede zombietown Nybegynder
18. september 2008 - 17:39 #2
Tak for svaret.

Jeg har oprettet en session manager i min app, som holder styr på de informationer jeg skal bruge, som flowExecutionKey, men hvis jsession ikke er sat til noget brugbart, så kan spring ikke bruge den conversation key som er indeholdt i flowExecutionKey, og så fejler den med at der ikke er en i gang væren session.

Så man kan sige at mit problem er at spring ikke opfører sig ordentligt uden et jsessionid.

Jeg har lige nu ikke den konkrete fejl, men vil poste den i morgen. Kan være det kan hjælpe.
Avatar billede arne_v Ekspert
18. september 2008 - 23:05 #3
Hvis gatewayen ikke kan maintaine det der skal til for at container managed
sessions virker og hvis Spring kun virker med en container managed session, saa
har du et problem.

Eneste mulighed jeg kan se er hvis et Filter kan saette en cookie baseret paa
request parameter.
Avatar billede zombietown Nybegynder
09. oktober 2008 - 08:27 #4
Undskyld det tog så lang tid før jeg har svaret tilbage på dette. Der kom lige et projekt ind fra højre der var vigtigere.

Jeg har nu lavet et servelet filter som laver noget url rewrite og så redirector til sig selv. Det virker fint, så tak for hjælpen. Hvis du smider et svar, så kan du få nogen point.

Rasmus
Avatar billede arne_v Ekspert
09. oktober 2008 - 15:20 #5
OK
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
Kategori
Kurser inden for grundlæggende programmering

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