2012-07-27 27 views
8

Asp.net formları sürüm 4 kullanıyorum ve yerleşik FormsAuthentication özelliğini kullanıyorum. Kullanıcıya devam etmemeyi seçtim.Google Chrome, tarayıcı kapatıldıktan sonra oturum değişkenlerini tutar

 FormsAuthentication.RedirectFromLoginPage(userIAmUsing, false); 

IE ve Firefox tarayıcıyı kapattığınızda. Oturum değişkenlerim yok edildi ve sayfaya döndüğümde yeniden oturum açmam isteniyor. Ancak, Chrome ayarlarımda "Kaldığım yerden devam et" ayarını kontrol ettim. Tarayıcıyı Chrome'da kapattığımda, (geliştiricinin) isteğim karşı olan çerezini ısrar ediyor. Aslında, makinemi kapattıktan sonra bile, oturum devam ediyor. Durum böyle olunca, bu davranışı geçersiz kılmak için bir geliştirici olarak yapabileceğim ve tarayıcının kapanmasının ardından oturumun devam etmesine izin vermeyecek herhangi bir şey bilen var mı? Başka bir deyişle, kullanıcı bu ayarı kontrol etmiş olsa bile Chrome'un diğer tarayıcılarda olduğu gibi davranmasını sağlayabilir miyim?

+1

Bu benim için bugün geldi. Resmi [Chrome hata raporu] (https://code.google.com/p/chromium/issues/detail?id=128513) ile ilgili tartışmayı oldukça ilginç buldum. [Google'ın resmi yanıtı] 'nı (https://code.google.com/p/chromium/issues/detail?id=128513#c28) yaklaşık yarıya kadar görebilirsiniz. Açıkçası, bunu düzeltmeyecekler. Geliştiriciler olarak, ellerimizin bağlı olduğunu düşünüyorum. –

cevap

0

Böyle bir kaşif belirli bir kod yoktur. Yapabilecekleriniz IP ve tarayıcıyı takip edip, istek detayları değişirse kullanıcıyı kapatır.

Yardımcı oldu mu?

+0

Teşekkürler, bu benim düşünmediğim bir şeydi ama kabus senaryomu çözmüyor. Öğrencinin okuldan ayrılmayı hatırlamadığı, ancak tarayıcılarını kapattığı için, özel bir bilgi ile okuldaki bir uygulamayı dolduran ve bir kaç dakika sonra geri gelen bir öğrencinin kendi bilgilerine erişebiliyor. Google herkes gibi çalıyorsa, bu bir sorun değil, çünkü benim için sorumluluk değil. Ve herkesi bir oyuncu için değiştirmekten nefret ediyorum, çünkü bu beni yine IE6 gibi hissettiriyor. –

+0

Mükemmel doğrulama. Ancak bazı bilgisayar korsanları yüzünden, yüksek güvenlik sağlıyorsunuz ve siz de bunun üzerinde bir miktar performans gösterdiğine katılıyorsunuz. Sadece modülün içine koyup isteği reddetmeye çalışın. Uygulama performansını engelliyorsa yük dengeleyicileri kullanabilirsiniz. Düşüncelerinizi bana bildirin – Ankit

2

Çerezler ve oturumların her ikisi de zaman aşımına sahiptir. Zaman aşımlarını kısa olacak şekilde ayarlayabilirsiniz; böylece Chrome, süreleri dolduğunda bunları yeniden kullanmaya çalışmaz.

+0

Teşekkürler. Yapabileceğim bir şey budur ama bu başka bir solucan konservesi açar ki şimdi bu uygulamamayan insanlar var. Tekrar giriş yapmak zorunda kaldım çünkü zaman aşımını kısa bir süreye değiştirmek zorunda kaldım. Gerçekten de, bir robots.txt dosyası gibi bir şey ayarlamanın bir yolunu arıyorum. Bu, Chrome'a ​​bu çerezleri ısrar etmemesini söyler, böylece herkesin aynı kurallara göre oynatılması, gerçekten de herkesin kurallarını Google'la oynamak için değiştirmesi gerekmez. –

+0

.NET oturumu sürgülü bir geçerlilik süresine sahiptir, yani kullanıcı etkin olduğu sürece, son kullanma tarihi geri alınmaya devam eder. Aktif olmadıklarında geri itilmez ve bu nedenle zaman aşımından sonra sona erer. – Jeff

+0

Ayrıca bkz .: http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.slidingexpiration.aspx – Jeff

0

Yapabileceğiniz tek şey elle denemek ve boşaltma işleyicisinde çerez silmektir;

$(window).unload(function() { /* delete session cookie */ }); 
İlgili konular