Avatar billede noobsaibot Nybegynder
22. oktober 2006 - 04:47 Der er 9 kommentarer

Session og login

Jeg har lavet den simple login-version på en side - hvor jeg gemmer login i en sessionsvariabel.

if(pwCheck == true)
                    {
                        Session["login"] = true;

                                       
                        Response.Redirect("minSide.aspx");
                    }
                    else
                    {
                        lblMessage.Text = "Forkert brugernavn og/eller password";
                    }

Når brugeren logger af sætter jeg: Session["login"] = (bool)false;

Sessionsvariablen bliver rigtig nok sat til false, men brugeren kan bare trykke back i IE. Derved bliver de sider han har været inde på vist igen, men hvis man refresher bliver man redirectet til login siden. Det er jo ikke så hensigtsmæssigt!

Så vidt jeg kan se, er det fordi siden bliver cachet.

Hvordan gør i det?
Avatar billede karsten_larsen Praktikant
22. oktober 2006 - 08:35 #1
Sådan her f.eks.

          With System.Web.HttpContext.Current.Response
                .Cache.SetCacheability(HttpCacheability.NoCache)
                .Cache.SetExpires(Now())
                .AddHeader("cache-control", "no-store")
                .AddHeader("Pragma", "no-cache")
                .Expires = 0
            End With

:-) karsten_larsen
Avatar billede noobsaibot Nybegynder
22. oktober 2006 - 10:36 #2
gør du det i "logoff"?
Avatar billede noobsaibot Nybegynder
22. oktober 2006 - 11:00 #3
Jeg bruger: Response.Cache.SetCacheability(HttpCacheability.NoCache);

Så bliver siden ikke cached, hvilket løser problemet. Nu synes jeg bare at siden bliver lidt for langsom, da den skal hente det hele hver gang .. Kan man ikke bare tømme cachen lige inden brugeren logger af?
Avatar billede karsten_larsen Praktikant
22. oktober 2006 - 11:18 #4
ja - men det er det du gerne vil opnå. Tømme hele cache inden logout, det vil kræve rettigheder fra klientens computer, tror det ikke, men du kan jo prøve at lægge det i global. Det forudsætter så, at alle så bruger logout funktionen og ikke bare lukker browseren ned.
Avatar billede noobsaibot Nybegynder
22. oktober 2006 - 11:23 #5
undlader du at cache dine sider?
Avatar billede karsten_larsen Praktikant
22. oktober 2006 - 11:39 #6
For det meste - men det kommer an på hvad formålet er med siden og om den er dynamisk genereret eller statisk.
Avatar billede noobsaibot Nybegynder
22. oktober 2006 - 20:14 #7
Jeg synes godt nok at siden bliver mærkbart langsommere, er der ikke en anden måde?

Kan man ikke nøjes med at tømme cachen lige inden bruger logger af?
Avatar billede noobsaibot Nybegynder
26. oktober 2006 - 13:01 #8
karsten_larsen
22/10-2006 08:35:51

Gider du måske give en kommentar med på:

Cache.SetCacheability(HttpCacheability.NoCache)
                .Cache.SetExpires(Now())
                .AddHeader("cache-control", "no-store")
                .AddHeader("Pragma", "no-cache")
                .Expires = 0
Avatar billede karsten_larsen Praktikant
27. oktober 2006 - 11:18 #9
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