Avatar billede henrikgn Nybegynder
16. februar 2006 - 15:16 Der er 7 kommentarer og
2 løsninger

Sessions i ASP.NET

Hej eksperter.

Jeg bøvler lidt med sessions og synes ikke helt det vil virke for mig. Jeg har en login-side, som (hvis der logges korrekt ind) skal føre videre til en anden side. På side 2 skal brugeren være logget ind - ellers skal side 1 vises igen. Hvordan gør jeg det?

Jeg havde forestillet mig noget med:

Side 1:

public void Login()
{
//login er godkendt
Session["loggedin"] = "yes";
Response.Redirect("side2.aspx");
}

Side 2's Page_Load:

if (Session["loggedin"] == "yes")
{
//ok
}
else
{
Response.Redirect(side1.aspx);
}

...men dette virker ikke. Hvorfor? Er der evt. en god tutorial til sessions i asp.net et sted? Jeg synes ikke jeg kan finde en.
Avatar billede nheilbuth Nybegynder
16. februar 2006 - 15:23 #1
if (Session["loggedin"].ToString() == "yes")

...men det er meget bedre at bruge ASP.NETs indbyggede Forms authetication, som er endnu nemmere hvis du bruger 2.0. Der findes masser af tutorials på nettet.
Avatar billede henrikgn Nybegynder
16. februar 2006 - 15:50 #2
Det er 1.1 jeg arbejder med.

Din kode returnerer "Objektreferencen er ikke indstillet til en forekomst af et objekt.". Men hvis jeg fjerner .ToString() får jeg blot en advarsel om en "Possible unintended reference comparison..." Men det virker fint nok. Så jeg tror det funker nu.

Nogen der har et link til en god tutorial til hvordan sessions i asp.net 1.1 virker? (msdn's QuickStart guide er elendig!)
Avatar billede dr_chaos Nybegynder
16. februar 2006 - 15:55 #3
du bør hellere kigge på formsauthentication:
http://www.15seconds.com/issue/020220.htm
Avatar billede nheilbuth Nybegynder
16. februar 2006 - 15:57 #4
Er du helt sikker på at det virker? Hvis min kode giver den fejl, har jeg svært ved at tro at din virker, men vil stadig anbefale dig at finde en tutorial med forms authentication, det gør altså tingene meget nemmere for dig!
Avatar billede henrikgn Nybegynder
16. februar 2006 - 15:58 #5
Det vil jeg gøre. Takker for det. Læg svar for points.
Avatar billede henrikgn Nybegynder
16. februar 2006 - 16:00 #6
Det virker fint på trods af den "mulige reference sammenligning." Hvis jeg ændrer det til if (Session["loggedin"] == "no") fx, bliver man smidt tilbage til side1, mens "yes" gør at man bliver på side2.
Avatar billede dr_chaos Nybegynder
16. februar 2006 - 16:04 #7
svar :)
Avatar billede nheilbuth Nybegynder
16. februar 2006 - 16:05 #8
hmm ok, men hvis den kan bruge Session["loggedin"] til noget burde det heller ikke være noget problem at lave en .ToString() på den!
Avatar billede henrikgn Nybegynder
16. februar 2006 - 16:08 #9
Som sagt giver det en "objektreferencen..."-fejl. Men jeg lukker nu og kigger lidt på formsauthentication. Det virker til at det godt kunne være løsningen for mig.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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