Bir .Net Özel Üyelik Sağlayıcısını kullanmanın / yazmanın dezavantajları nelerdir?


12

Son zamanlarda SO'ya şu soruyu gönderdim: /programming/7197337/using-asp-net-membership-provider-with-an-existing-user-database

Fark edebileceğiniz gibi, bir soruya cevap verdim, bunun bir "Özel Üyelik Sağlayıcısı" yazmak / uygulamak gibi görünüyordu.

Kelimenin tam anlamıyla, birkaç dakika sonra bu soruya rastladım: /programming/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/7222407#7222407

Ben .Net Üyelik sağlayıcısı "birçok düzeyde korkunç" olduğunu cevaplamak ve geri yorum almaya çalışın. Kabul edeceğim, bu ilk kez Üyelik sağlayıcısı kullanıyorum ama bana kaygan görünüyordu.

"Korkunç" iddiayı destekleyen hiçbir şey görmedim, bu yüzden "korkunç" bir şey uygulamadan önce, topluluktan geri bildirim almayı umuyordum.


Cevapları dört gözle bekliyorum, +1 ..
Pankaj Upadhyay

Yanıtlar:


1

Bu yüzden "korkunç" en iyi kelime olduğundan emin değilim. Bununla birlikte, sınırlamaları vardır ve ihtiyaçlarınız üyelik sağlayıcısının nasıl tasarlandığına uymaz uymaz bir sürü tutkal kodu ile sonuçlanır. Üyelik sağlayıcısını kutudan çıkarırsanız, bunun için git diyebilirim. En kısa zamanda özel bir tane yazmaya başlar başlamaz üyelik materyallerini kullanarak soruyorum.

Tecrübelerime göre, üyelik sağlayıcısı sizi satın alıyor ...

  • MVC uygulaması için zaten yerleşik olarak kaydolun
  • Hesap düzenleme
  • Şifremi Unuttum bağlanmak kolaydır
  • Kullanıcı yöntemini doğrula

Eminim kayıp bir şey daha var ama bence bunlar büyükler. Artık mevcut bir veri modeliyle çalışmak için özel parola yönetimine, iki faktörlü kimlik doğrulamaya veya kaybetmeye başladığınız bir dizi başka şeye ihtiyacınız olduğunda. Üyelik ile birlikte sizin için yazılmış olan kodun, ne yaptığınızı biliyorsanız çoğaltılması birkaç gün sürecektir.


1

Ne istersen yapmaz. İlk bakışta tüm ihtiyaçlarınızı ve bazılarını karşıladığını görebilirsiniz, ancak yeni bir gereksinim ortaya çıkıyor. Şimdi bu şeyin nasıl çalıştığını 'gerçekten' öğrenmelisiniz. Tüm bu önceden inşa edilmiş olmanın yararı azalır çünkü o yanlış güvenlik duygusu içindeydiniz.

@Travis mevcut bir veri modeli kullanarak bahsetti, ancak veritabanı seçimi de bir kısıtlama olabilir: Oracle?

Facebook veya Google gibi 3. taraf doğrulama sistemleriyle çalışıp çalışmadığını bilmiyorum.


1

Birçok kişi, dokümanları hızlı bir şekilde okurken düşündükleri kadar esnek değiller, ancak yerleri var.

Kullanıcı belirteçleri üzerinde denetime ihtiyacınız yoksa ve yalnızca özel / genişletilmiş kullanıcı verileri veya üyelik kümesi oluşturmanız veya bu verileri kendi yerlerinde var olan / farklı bir kaynaktan almanız gerekiyorsa.

Bundan daha fazla değiştirmek isterseniz, genellikle kimlik doğrulama sağlayıcılarından birini çalıştıran httpmodülün yerini almaktan daha iyi olursanız, tüm kontrolü elde edersiniz. Tedarikçilerle bir şeyleri kırmakla karşılaştığım çoğu insan, bu düzeydeki durumları için yanlış seçim yaptı.

Her iki şekilde de, çoğu asp.net tabanlı kullanıcı işlevini kullanmaya devam etmenizi sağlayan düzgün şekilde doldurulmuş bir context.user alırsınız.


1

Bu soru eski ama popülaritesi için rozetler alıyorum, bu yüzden güncellenmiş bir cevap vermenin buna değer olduğunu düşünüyorum.

Microsoft'un "Basit" Üyelik sağlayıcısı nihayet benim düşünceme göre doğru karar verdi. Yeni bir şey yazıyorsanız, hatta yeni bir uygulama ile eski bir veritabanına ekliyorsanız. Basit üyelik sağlayıcısını kullanın. YOL KOLAY ve TEMİZLEYİCİ uygulamak. Birkaç tablo yükleyin ve sağlayıcıyı kullanıcı listenize yönlendirin ve işiniz bitti.

Bu bağlantı başlamanıza veya sadece google'a yönlendirecektir: http://www.mattjcowan.com/funcoding/2012/11/10/simplemembershipprovider-in-mvc4-for-mysql-oracle-and-more-with-llblgen/


basit üyelik sağlayıcıları sadece .. Basit
hanzolo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.