Avatar billede klasker Nybegynder
12. marts 2003 - 20:46 Der er 11 kommentarer og
1 løsning

Ændrer ikke på Sessions

Davs,

Jeg har lavet en side hvor man kan logge ind, og når man har logget ind sættes en værdi i Session sådan her:
Session("LoggedIn") = "YES"

I de .asp filer man kun må se hvis man er logget ind gør jeg dette:
if not Session("LoggedIn") = "YES" then
  response.redirect "NotLoggedIn.asp"
end if

Når man logger af gør jeg dette:
Session("LoggedIn") = "NO"
-- jeg har også prøvet med dette --
Session.abandon

Men lige meget hvad jeg gør kan man se de "beskyttede" .asp filer efter man er logget ud. Men hvis jeg trykker på 'refresh' ('opdater' i de danske) knappen, så kan jeg ikke se dem længere.

Hvordan gør jeg sådan så folk SKAL VÆRE LOGGET IND for at se en fil?? Det behøver ikke nødvendigvis være med Sessions.
Avatar billede fun22 Nybegynder
12. marts 2003 - 20:53 #1
Prøv at bytte det ud med det her:
Session("LoggedIn") = "TRUE"


if Session("LoggedIn") = "FALSE" then
  response.redirect "NotLoggedIn.asp"
end if


Log ud:
Session.Abandon
Response.redirect("default.asp")
Avatar billede ellebaek Nybegynder
12. marts 2003 - 20:54 #2
bare sørg for når du har brugt logud at du sender videre til en anden side...!
Altså:
if loggedud <> "" then
session("LoggedIn") = "NO"
Response.redirect "default.asp"
end if
Avatar billede klasker Nybegynder
12. marts 2003 - 21:06 #3
fun22>
Hvad skulle det hjælpe at skrive "TRUE" og "FALSE" istedet? Det du mener er not fra TRUE og FALSE (altså booleans, ikke strings)
Men det er ikke det der er problemet. Problemet er at Session først bliver opdateret når man trykker refresh.

ellebaek>
Jeg bruger en link der fører til en side der ser sådan ud:
<%
Session("LoggedIn") = "NO"
response.redirect "default.asp"
%>
Dvs. jeg sender allerede brugeren videre til en anden side.
Avatar billede taager-kongen Nybegynder
12. marts 2003 - 21:12 #4
når man logger ud brug denne kode:
<%
response.buffer = True
Session.Abandon
response.redirect "default.asp"
%>

sådan det skkulle virker...
Avatar billede klasker Nybegynder
12. marts 2003 - 21:15 #5
Hvad i alverden gør response.buffer = True ??
Og hvorfor skulle det hjælpe?
Avatar billede taager-kongen Nybegynder
12. marts 2003 - 21:16 #6
response.buffer = True
gør det muligt at stoppe koden og sende brugeren videre... Fordi den er fordi det virker ikke altid uden...

Noget i den stil :)
Avatar billede joshin Nybegynder
12. marts 2003 - 21:17 #7
Hvis siderne er cachede vil de kunne ses efter log af.
For at sikre mod csche på klient:

Response.AddHeader "Pragma", "no-cache"
Response.CacheControl = "no-cache"
Response.Expires = -1
Avatar billede taager-kongen Nybegynder
12. marts 2003 - 21:17 #8
svar,....
Avatar billede klasker Nybegynder
12. marts 2003 - 21:18 #9
Det virker ikke.... :(
Avatar billede klasker Nybegynder
12. marts 2003 - 21:21 #10
Min forrige kommentar skrev jeg inden de 3 kommentarer/svar oven over så glem den....

joshin>
Tak for hjælpen.
Kan nogen forklare hvad AddHeader gør??
Og Expires hvis i gider... (CacheControl giver lidt sig selv...)
Avatar billede klasker Nybegynder
12. marts 2003 - 21:22 #11
Forresten: Skal det bare stå et eller andet sted på den side som ikke må cache-gemmes???
Avatar billede joshin Nybegynder
12. marts 2003 - 21:47 #12
Det skal stå i headder delen (starten) af siden, alternativt kan det gøres som meta-tags
Jeg indsætter det samtidig som jeg opretter meta-tags
Hvis man "blander" HTML & ASP er det sikrest før HTML
med de tre liner burde det virke både i IE og Netscape

AddHeader skriver i http-headeren, altså før html-delen
Expires sætter hvor lang tid siden "holder" i cache
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