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

  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • JTechTalk

    JTechTalk

    11 Temmuz 2010
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007