Toon posts:

[ASP] Session object afsluiten

Pagina: 1
Acties:

Verwijderd

Topicstarter
dat doe je natuurlijk door (het gaat om IIS 5):
ASP:
1
<% Session.Abandon %>

en dan is het ook zo dat dit pas wordt geprocessed wanneer de hele pagina ingeladen is. dat weet ik allemaal. Nu wil het geval echter dat in een secure site die ik gemaakt heb, waarin men met een Windows Logon inlogt, de user bij een goed inlogprocedure in een Session("var") variabele gezet wordt. Als men uitlogt door op een link te klikken, wordt de logoff.asp pagina aangeroepen. Daarin staat bovenstaande code, gevolgd door een redirect naar de homepagina.

Het probleem is nu dat als ik echter met 'back' terugga, ik de oude pagina's gewoon nog op mijn scherm krijg, ook al refresh ik de boel. Zelfs kan ik dan nog nieuwe beveiligde pagina's aanroepen. Ik ben een beetje clueless, aangezien het toch zo simpel als dit zou moeten zijn. Iemand enig idee :?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Dan doe je een
ASP:
1
2
Session.Abandon
Response.Redirect(Request.ServerVariables("Script_Name"))

Daarnaast voer je caching toe aan al je pagina's; icm met de cacheinstelling op Private zetten.

[ Voor 35% gewijzigd door gorgi_19 op 02-10-2003 13:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

of je zegt:
ASP:
1
2
3
session("var")=-1
session.abandon
response.redirect

als die session dan nog hangt heeft hij iig een waarde waarvan je in je asp script kunt zeggen dat die persoon geen toegang heeft..

kaart != map && bottel != fles
Wacht op antwoord


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

j_du_pee schreef op 02 oktober 2003 @ 13:18:
of je zegt:
ASP:
1
2
3
session("var")=-1
session.abandon
response.redirect

als die session dan nog hangt heeft hij iig een waarde waarvan je in je asp script kunt zeggen dat die persoon geen toegang heeft..
Door die abandon zou iig ook de Session destroyed moeten zijn aan het einde van de pagina.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • pistole
  • Registratie: Juli 2000
  • Laatst online: 22:15

pistole

Frutter

eventueel nog een
ASP:
1
session.Contents.removeall
en in al je beveiligde pagina's een
ASP:
1
response.expiresabsolute=dateadd("d", -1, now) 
o.i.d. doen

Ik frut, dus ik epibreer


Verwijderd

Topicstarter
dank voor al jullie reacties! Ik heb verschillende dingen geprobeerd, wat nog niet tot het beoogde resultaat heeft geleid. Het komt o.a. omdat bij het opnieuw inladen van de pagina's de usernaam weer in een sessie variabele ingelezen wordt, waardoor men toch rechten blijft behouden. Ik dacht alleen dat met die .Abandon het certificaat weer opnieuw ingeladen zou moeten worden voordat nieuwe toegang verkregen kan worden (compleet met network logon). Maar dat is dus niet het geval.

Ik probeer nog wat verder te stoeien met de cachinstellingen van Gorgi_19, maar dat kan nog even duren. Ik laat het weten als het opgelost is

Verwijderd

Topicstarter
mmm, het lijkt nu opgelost. In iedere pagina moet ik gewoon een extra check inbouwen:
ASP:
1
2
3
If Session("gebruiker") = "" Then
     Response.Redirect "/index.html"
End If

nogmaals dank _/-\o_ De oplossing is weer eens eenvoudig, maar soms heb je gewoon even een helder inzicht nodig (het moge duidelijk zijn dat het mijzelf daar even aan ontbrak) :)

[ Voor 6% gewijzigd door Verwijderd op 02-10-2003 14:07 ]


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

gorgi_19 schreef op 02 October 2003 @ 13:19:
[...]

Door die abandon zou iig ook de Session destroyed moeten zijn aan het einde van de pagina.
is waar, ik bedenk me alleen een heel ander argument nog; stel iemand is aan het werk op jouw applicatie en op een andere app op de zelfde server. Volgens mij is diegene dan zijn (inlog-) gegevens voor allebij de apps kwijt.

Is natuurlijk niet altijd relevant, maar zou wel een reden kunnen zijn om alleen de inlogvariabelen te overschrijven...

kaart != map && bottel != fles
Wacht op antwoord


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

j_du_pee schreef op 02 oktober 2003 @ 14:36:
[...]


is waar, ik bedenk me alleen een heel ander argument nog; stel iemand is aan het werk op jouw applicatie en op een andere app op de zelfde server. Volgens mij is diegene dan zijn (inlog-) gegevens voor allebij de apps kwijt.

Is natuurlijk niet altijd relevant, maar zou wel een reden kunnen zijn om alleen de inlogvariabelen te overschrijven...
Een Session is iig sessie-gebonden. Ik geloof echter dat een Session ook nog zelfs application gebonden is. Als je dus de andere applicatie als aparte application definieert in IIS, mogen deze niet met elkaar in de war komen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 20-08 15:04

mOrPhie

❤️❤️❤️❤️🤍

gorgi_19 schreef op 02 oktober 2003 @ 14:39:
[...]

Een Session is iig sessie-gebonden. Ik geloof echter dat een Session ook nog zelfs application gebonden is. Als je dus de andere applicatie als aparte application definieert in IIS, mogen deze niet met elkaar in de war komen.
Dit komt omdat iedere keer dat een site gestart wordt op de achtergrond "Session_start" aangeroepen wordt. Het event wat je ook in je global.asa kunt ondervangen. Op de achtergrond wordt tijdens dit event de session aangemaakt (en dus de ID's en flags).

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
j_du_pee schreef op 02 October 2003 @ 14:36:
[...]


is waar, ik bedenk me alleen een heel ander argument nog; stel iemand is aan het werk op jouw applicatie en op een andere app op de zelfde server. Volgens mij is diegene dan zijn (inlog-) gegevens voor allebij de apps kwijt.

Is natuurlijk niet altijd relevant, maar zou wel een reden kunnen zijn om alleen de inlogvariabelen te overschrijven...
Ik heb hier ook 2 dezelfde applicaties draaien, echter allebei op een eigen subdomein maar wel allebei op de zelfde server.

En gelukkig (is ook logisch) werken de sessions helemaal van elkaar appart, echter al draai je ze onder het zelfde domein, maar bijvoorbeeld applicatie 1 onder /appl1 en applicatie 2 onder /appl2 dan kunnen ze elkaar lekker in de weg gaan zitten!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Polderdijk schreef op 03 October 2003 @ 09:26:
En gelukkig (is ook logisch) werken de sessions helemaal van elkaar appart, echter al draai je ze onder het zelfde domein, maar bijvoorbeeld applicatie 1 onder /appl1 en applicatie 2 onder /appl2 dan kunnen ze elkaar lekker in de weg gaan zitten!
Heb je ze ook als individuele applications in IIS gedefinieerd, of in 2 (virtual) folders. Is het 2e geval is dat logisch.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1