Avatar billede Unold Nybegynder
13. marts 2012 - 18:04 Der er 1 løsning

Problemer med cookies ved logout

Hej med jer!
Jeg har problemer med, at Chrome og Firefox ikke sletter cookies korrekt, når jeg logger ud. Det virker fint i IE...

Kode til cookies ved login:
public static void SetCookie(string userID)
    {
        if (HttpContext.Current.Session != null)
        {
            HttpContext.Current.Session["loginuser"] = userID;
        }
        HttpContext.Current.Response.Cookies["login"]["userid"] = userID;
        HttpContext.Current.Response.Cookies["login"].Domain = ".mitdomain.dk";
        HttpContext.Current.Response.Cookies["login"].Expires = DateTime.Now.AddDays(365);
    }

Kode til at logge ud:
private void KillCookie()
    {
        if (Request.Cookies["login"] != null && !string.IsNullOrEmpty(Request.Cookies["login"].Value))
        {
            Session.Clear();
            Session.Abandon();           
            Response.Cookies["login"].Value = null;           
            Response.Cookies["login"].Expires = DateTime.Now.AddDays(-1);           
            Response.Cookies.Remove("login");
            UserHelper.SetCookie(null);
            Response.Cookies.Set(new HttpCookie("login"));
            Response.RedirectLocation = Request.RawUrl;
        }
    }

Det "sjove" er, at det hele virker, hvis bare jeg udkommenterer denne linje i login funktionen:
HttpContext.Current.Response.Cookies["login"].Domain = ".mitdomain.dk";

Er der nogen der kan se hvad jeg gør forkert?
Det må jo næsten være et eller andet med at jeg sætter min cookie til at fungere på subdomain, men det er en nødvendighed.
Avatar billede Unold Nybegynder
04. april 2012 - 14:23 #1
Lukker her.. Løsningen blev at lave 2 separate cookies.
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