SORU
5 Ocak 2009, PAZARTESİ


FormsAuthentication.() SignOut kullanıcı oturum kapatılmaz

Bu biraz karşı başımı çok uzun parçaladı. Nasıl FormsAuthentication kullanarak çıktı sonra bir sitenin sayfaları tarama bir kullanıcı engellerim.SignOut? Bunu yapmak için beklerdim:

FormsAuthentication.SignOut();
Session.Abandon();
FormsAuthentication.RedirectToLoginPage();

Ama olmuyor. Ben bir URL doğrudan yazarsanız, hala sayfasına göz atabilirsiniz. Roll-your-kendi güvenlik bir süredir kullanmadım ben bu çalışmıyor neden unutuyor.

CEVAP
20 AĞUSTOS 2009, PERŞEMBE


Kullanıcıların hala kurabiye FormsAuthentication aradığınızda temizlenmez çünkü web sitesi göz atabilirsiniz.() SignOut ve her yeni istek kimliği. MS belgelerinde çerez temizlenir ama yok, hata yok diyor? Oturum ile kesinlikle aynı.() Terk, kurabiye hala orada.

Bunun için kodunuzu değiştirmeniz gerekir:

FormsAuthentication.SignOut();
Session.Abandon();

// clear authentication cookie
HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
cookie1.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie1);

// clear session cookie (not necessary for your current problem but i would recommend you do it anyway)
HttpCookie cookie2 = new HttpCookie("ASP.NET_SessionId", "");
cookie2.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie2);

FormsAuthentication.RedirectToLoginPage();

HttpCookie System.Web ad. MSDN Reference.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • booba1234

    booba1234

    22 Temmuz 2006
  • esnathesinger

    esnathesinge

    6 NİSAN 2009
  • xCraash

    xCraash

    6 Temmuz 2012