Avatar billede tomred Nybegynder
15. september 2003 - 17:58 Der er 5 kommentarer og
1 løsning

Redirect til login ved back i browser

Har en webapplikation med en loginside, samt en søge- og resultatside.
Brugeren logger ind, foretager en søgning og resultatet vises.

Problem:
Når brugeren, efter at have fået vist resultatsiden, forlader applikationen ved at gå til en anden side, eksempelvis dr.dk, skal det ikke være muligt at tilgå/se resultatsiden via "Back" i browseren. Brugeren skal i dette tilfælde redirectes til loginsiden ... også selvom sessionen ikke er udløbet.
Med andre ord, resultatsiden skal ikke kunne nåes via "Back" hvis brugeren har været en smuttur "ude i verden". Hvis brugeren forlader webapplikationen, ved at gå til en anden URL, skal det svare til at sessionen timer ud.

Jeg har sikret at intet caches i browseren og i de tilfælde hvor sessionen udløber mens brugeren er udenfor webapplikationen, redirectes der korrekt til loginsiden når brugeren forsøger at vende tilbage.
Problemet er altså hvordan jeg ved at brugeren har forladt webapplikationen og efterfølgende prøver at se et "gammelt" resultat.
Er det et spørgsmål om korrekt konfiguration således at webapplikationen "opdager" at brugeren forlader applikationen og kan resette connectionen herefter?
Jeg kan ikke umiddelbart se at det kan løses via et par META-TAGS, eftersom jeg jo ikke ønsker at opfriske resultatet men istedet undgå at brugeren ser det.

Jeg har overvejet et alternativ hvor det på resultatsiden checkes for om history har en next og i så fald om denne er indenfor webapp-domænet. Men jeg tror dog ikke helt selv på denne løsning. Det må være simplere, ik?

Webapplikationen afvikles på Resin 2.1.6.
Avatar billede arne_v Ekspert
15. september 2003 - 22:32 #1
Jeg tror ikke på, at det kan laves.

Der er ikke nogen egnet mekanisme til at overføre informationen fra
browser til server.

Sæt en lav timeout:

<session-config session-timeout='3'/>

eller noget i den stil.
Avatar billede tomred Nybegynder
15. september 2003 - 23:43 #2
Jeg ville også have troet at det næsten var umuligt, men opdagede så lige at DanskeNetbank faktisk kan håndtere det ... tror jeg nok!
Jeg fiflede lidt med alternativet, altså at anvende history til at checke om der skulle være en ukendt URL længere fremme i historikken. Men det holdt kun indtil jeg fandt ud af at IE (såvidt jeg kan se) ikke er helt fortrolig med history.next endnu.

Jeg lader den være åben et stykke tid endnu. Hvis der ikke sker mere, hælder jeg pointene på dig.

Tak for bidraget.
Avatar billede 2c Nybegynder
15. september 2003 - 23:46 #3
Jeg lavede en større web applikation i asp.net for ca. et halvt år siden, da jeg var i praktik. Der kunne man markere en property, og så kunne man ikke komme tilbage til siden ved hjælp af back knappen. Jeg har desværre ikke adgang til siden mere, så jeg kan ikke huske hvad den property gjorde.

Jeg ved godt du nok ikke kan bruge dette til noget, men når det kan lade sig gøre så nemt i asp.net, må der da også være en simpel måde til det i jsp.
Avatar billede tomred Nybegynder
16. september 2003 - 00:22 #4
Ok, 2c. Lyder som om der kunne være lys forude.

Du gav mig faktsik en ide. Jeg forsøgte i onUnload at sætte location.replace=loginsiden således at et "Back" i browseren ville medføre et hop til login istedet for den oprindelige resultatside. Umiddelbart ville jeg tro at det kunne være løsningen, men IE 6.0 bryder sig vist heller ikke om location.replace ... såvidt jeg kan se.

Jeg prøver at se om jeg kan opstøve måden hvorpå dette klares i ASP.NET.
Avatar billede arne_v Ekspert
16. september 2003 - 08:09 #5
Danske NetBank bruger så vidt jeg ved browser specifik JavaScript og
hvis man har penge til at vedligeholde det, så kan meget lade sig gøre.
Avatar billede tomred Nybegynder
18. september 2003 - 21:38 #6
Brugte den gode gamle med at åbne webapplikationen i et selvstændigt vindue og undlade 'locationbar'.
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging