2009-10-25 12 views
6

Bazen Microsoft, başım ağrıyor gibi çok şaşırtıcı derecede aptalca bir şey yapıyor. Durumun gerçekten olmadığını öğrenmeme izin verin ... lütfen!IE, ASP.NET formunun parolasını kaydetmeyi önermiyor

kurtarmaya sunmuyor IE (7 veya 8 ... 6 açmayı dayanamam) sayede geliştiriyorum bir ASP.NET (3.5) sitenin giriş sayfasına ile bir sorunu var Bir kullanıcı oturum açtığında şifre. Diğer tarayıcıları kontrol ettim ve Firefox, Chrome ve Safari şifreyi sadece iyi kaydetmeyi önerdi. Ayrıca test kutularında IE şifresinin kaydedilmesinin diğer sitelerde ve örn. Google vb iyi çalışıyor.

yaptığım arama

çok az geldi, ancak çok az ne kadar ele verdiler IE sayfadaki formda ikiden fazla metin kontrolleri içeriyorsa bir şifre kaydetmeyi teklif etmeyeceğini önermek gibi görünüyor etmiştir. Bu, bir kullanıcının kayıt yapmasına izin veren denetimlere sahip olan formumdaki durumdur. Ve bu ek denetimleri kaldırdığımda, IE şifreyi kaydetmeyi istemektedir, bu doğru gibi görünmektedir.

Şimdi ... ASP.NET bana birden formları için izin olsaydı, her şey olacak ve ben bağımsız formlara iki işlevi ayırmak mümkün olacaktır ve IE şifreleri kurtarmak için istemi olacaktır. Ancak, ASP.NET sadece tek bir form izin verdiği için bunu yapmama izin vermiyor. Orada bir non-runat = sunucu formunu fudge edebilirim ve bunu yapmaya çalışırım, ama tahmin et ne oldu? Sayfam bir MasterPage kullandığından, eklediğim herhangi bir form etiketi, non-runat = sunucu formu olsa bile, otomatik olarak çıkarılır.

Yani, temelde ben başarmak çalıştığım şey değiştirmeden bu başka bir yol göremiyorum. Kullanıcılarıma, ASP.NET (err ... a Microsoft ürünü) ile sitemi geliştirdiğim için IE (bir Microsoft ürünü) kullanıyorlarsa parolalarını kaydetmeleri istenmeyeceklerini açıklamak zorundayım gibi görünüyor.

Eğer öyleyse, ben sadece bunun ne kadar kafa smackingly saçma üstesinden olamaz. Eğer herkes etrafından nasıl geçeceğine dair herhangi bir fikir verebilirse, bana her şeyi yanlış anladığımı söyleyebilirim ve kendimi büyük, aptal bir aptalım ya da sadece bunun bana ait olduğunu söyleyen sadece bana ait değil. lütfen, lütfen yapın.

Sadece kayıt için, tasarımımı riske atmak ve sayfalarımı ikiye ayırmak istemiyorum (bunun neden kullanıcı için daha kötü bir deneyime yol açacağını).

+0

MS'nin bölümünde meraklı tasarım kararı. Orada motivasyonun ne olduğu hakkında bir fikriniz yok. Tasarımınıza gelince ... Kullanıcıların parola korumasının bir anlaşma engelleyicisi olduğuna ikna olmanız durumunda, neden sadece kullanıcı oturumunu korumayı teklif etmiyorsunuz? Yoksa bunu da yapar mısın? – Bryan

+0

Evet, bence bu benim tek seçeneğim olacak, sadece bu davranış hakkında onay vermeyi umuyordum. Ve dediğin gibi, meraklı olan. Parola korumanın anlaşma kırıcı olması o kadar da zor değil, neden mümkün olmadığını ve Microsoft platformu + Microsoft tarayıcısı = Bu durumda neden başarısız olduğunu soran herkese açıklamak zor. – BinarySolo

+0

Ham HTML metin kutularını aspx sayfasına geri gönderen bir form kullanarak denediniz mi? – Chris

cevap

2

@Chris Sonunda böyle gittim.

Başkalarının yararı için hala bir runat = server formundaki aktivasyon kontrollerim var ve bunları bu sayfadaki kodda işliyorum. Sonra farklı bir .NET sayfasına gönderilen HTML giriş metin alanları ile ikinci bir standart HTML formum var. Bu kullanıcı girişi ile ilgilenir. Bu sayfadaki değerleri Request.Form üzerinden alıyorum ve buradan giriş ile ilgileniyorum.

Upsides:

her şey çalışıyor ve kullanıcılar için beklediğiniz gibi kendi oturum açma hatırladı olsun.

Downsides: - şu kadarını sevmiyorum

(Ben sayfanın iki formları ihtiyaç gibi) şablonu çoğaltmak için bu yüzden etkili bir oldu bir Masterpage kullanma yeteneğini kaybetti.

Kullanıcı girişi geçersizse veya bir çeşit hataya neden oluyorsa, ilk sayfaya yönlendirmem ve ilgili bir hata mesajı göstermesini sağlamak için bir bayrağa göndermem gerekiyor - Bunu da çok sevmiyorum.

Söylediğim gibi, sadece işe yarıyor ve bu durumda en önemli olan buydu. Girdiniz için teşekkürler.

+0

Neden sayfadaki diğer metin kutularını kaldıran giriş düğmesine tıklandığında çalışan sayfaya sadece javascript eklemiyorsunuz? – Michael

+0

Bir MasterPage kullanabilir ve ASPX form etiketinin dışındaki bir içeriğe sahip olabilirsiniz. Belirli düzenlerde çalışmak zor olabilir, ancak mutlak veya göreli konumlandırmayı kullanabiliyorsanız, o zaman belki de çok kötü olmayabilir. Ana sayfanın üzerinde, yukarıdaki veya daha alttaki form etiketinin dışında bir yer tutucu bulundurmanız ve ardından içerik kontrolünü içerik sayfanıza yerleştirmeniz gerekir. Muhtemelen zaten kullanmış olduğunuz iyi bir örnek, bir içerik sayfasına komut dosyası/stil eklemek için başlığa yerleştirmektir. – eselk