Avatar billede lunaus Nybegynder
15. april 2004 - 17:18 Der er 18 kommentarer og
1 løsning

session.abandon påvirker andet browservindue

Jeg administrerer en hjemmeside der både arbejder med login og sessioner på brugersiden og i administrationen. Dvs. der er loginkrav begge steder.
Mit problem er at når jeg logger af på eksempelvis brugersiden (som jeg har åbnet i et browservindue) slår dette også igennem i det andet browservindue hvor jeg administrationen åbnet. Dvs. session.abandon slår igennem på to uafhængige(?) browservinduer.

Hvordan løser jeg, eller kan jeg overhovedet løse dette problem?

På forhånd tak :-)
Avatar billede nute Nybegynder
15. april 2004 - 17:26 #1
højst sandsynligt så åbner du dit admin vindue fra "brugersiden" ?
Avatar billede thesurfer Nybegynder
15. april 2004 - 17:26 #2
session.abandon "slår igennem på" på serveren, og ikke i browseren..
brug session("login") = "" i stedet..

erstat "login" med navnet på din session..
Avatar billede retry Nybegynder
15. april 2004 - 17:27 #3
if not inAdmMode then sesion.abandon
Avatar billede thesurfer Nybegynder
15. april 2004 - 17:29 #4
Du kan jo bare "nulstille" / ændre, den session der er aktuel.. f.eks. med:
session("navnet") = "noget andet end det det var før"
Avatar billede satanic_raven Nybegynder
15. april 2004 - 17:39 #5
Den mest anvendelige metode som jeg kan se, er nok at bruge:
session("et_eller_andet") = "" <- Når du/en bruger logger af...
<body onunload="if{window.close(){<%session.abandon%>}"> <- Når vinduet lukkes, afsluttes alle sessions...

Ved ikke om sidstnævnte virker som den står, men med lidt ændringer bør den virke...

S.R.
Avatar billede lunaus Nybegynder
15. april 2004 - 17:40 #6
Det vil sige jeg bliver nødt til at lukke alle de sessioner som jeg ikke ønsker skal være aktive?
Er der ikke en måde hvorpå jeg kan nulstille alle sessioner i det det pågældende browservindue?
Avatar billede nute Nybegynder
15. april 2004 - 17:40 #7
thesurfer >> alle Session manipulationer "slår igennem" på serveren. Når en bruger requester en side fra en server, bliver der oprettet en session til denne bruger. Ingenting, der har med Sessions at gøre, har kontakt med en browser ... det er serveren der administrerer denne, og har tilgang til denne.

problemet ligger nok i at administrationen bliver åbnet fra brugersiden. når dette sker, så "arver" det åbnede vinduet session fra det vindue der åbner, og alle session manipulationer der sker i hvilket som helst af disse vinduer, har en effekt på det andre vindue.

/nute
Avatar billede lunaus Nybegynder
15. april 2004 - 17:50 #8
Prøver lige igen :-)
Vil det sige at jeg bliver nødt til at lukke alle de sessioner enkeltvis som jeg ikke ønsker skal være aktive?
Er der ikke en måde hvorpå jeg kan nulstille alle sessioner på én gang i det pågældende browservindue uden at det har nogen effekt på det andet browservindue??
Avatar billede retry Nybegynder
15. april 2004 - 17:52 #9
1) session = besøg
2) session variable = en variabel, fx session("myVariable"), som serveren husker fra side til side, indtil sessionen timer ud eller session.abandon udføres.

Har du ikke selv lavet asp-koden?
Avatar billede nute Nybegynder
15. april 2004 - 17:53 #10
lunaus >> hvis du svarer på de spm der bliver stillet her inde selv, så kan det jo være at vi svarer dine spm ;o] jeg skrev, i det aller første indlæg:

højst sandsynligt så åbner du dit admin vindue fra "brugersiden" ?

(( læg mærke til spørgsmålstegnet til sidst ;o] ))

/nute
Avatar billede lunaus Nybegynder
15. april 2004 - 18:01 #11
nute >> Sorry er "lidt" grøn i dette forum.
Jeg får adgang til admin-delen ved at skrive /admin efter den almindelige hjemmeside adresse. Så jo, jeg får vel adgang fra "brugersiden" :-)
Avatar billede nute Nybegynder
15. april 2004 - 18:05 #12
ok ... så du logger først på din brugerside, derefter skriver du /admin i din browser og logger på igen eller hvad ?

som jeg har skrevet - hvis du åbner et vindue fra et andet, så arves Session. hvis du vil have en "ren" session for din admin, så er du nødt til at åbne et nyt browservindue (ved at klikke på dit browserikon) og angive URL'en til din admin del

/nute
Avatar billede lunaus Nybegynder
15. april 2004 - 18:06 #13
retry >> Hjælper det her? ;-]
Vil det sige at jeg bliver nødt til at lukke alle de "session variabler" enkeltvis som jeg ikke ønsker skal være aktive?
Er der ikke en måde hvorpå jeg kan nulstille alle "session variabler" på én gang i det pågældende browservindue uden at det har nogen effekt på det andet browservindue??
Avatar billede retry Nybegynder
15. april 2004 - 18:07 #14
Hvis du starter en frisk Internet Explorer, dvs ikke fortsætter i et IE-vindue, som i forvejen er inde på siden, så starter du også session, som er uafhængig af din eventuelle login på brugersiden.
Avatar billede lunaus Nybegynder
15. april 2004 - 18:12 #15
retry / nute >> tak for hjælpen.
Føler mig godt dum. Jeg må have benyttet den famøse ctrl+n for at åbne et nyt vindue, hvorved sessionen bliver overført til det nye vindue.
Sorry alt bøvlet....
Avatar billede lunaus Nybegynder
15. april 2004 - 18:13 #16
Hvorn uddeler man point her...?
Det kører sgu ikke rigtigt for mig idag..hehe
Avatar billede retry Nybegynder
15. april 2004 - 18:13 #17
svar.
Avatar billede lunaus Nybegynder
15. april 2004 - 18:15 #18
Takker ;-]
Avatar billede nute Nybegynder
15. april 2004 - 18:23 #19
lunaus >> man er ikke "dum" fordi man ikke ved at sessions bliver arvet på denne måde ... man kender simpelthen ikke bare til det. Hvis man slet ikke forstår at det er sådan det fungerer, og man gang på gang render ind i de samme problemer, så ville jeg nok uden problemer kategorisere nogen som "dum" ;o] (selv om det er svært at sige at nogen, man ikke kender, er dum)
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