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

  • StalkerJS

    StalkerJS

    15 HAZİRAN 2010
  • Techmoan

    Techmoan

    31 Mayıs 2009
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009