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

  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009
  • kimberly p

    kimberly p

    23 Ocak 2010
  • Numberphile

    Numberphile

    15 EYLÜL 2011