Baru-baru ini, saya memposting pertanyaan berikut pada SO: /programming/7197337/using-asp-net-membership-provider-with-an-existing-user-database
Seperti yang mungkin Anda perhatikan, saya akhirnya menjawab pertanyaan saya sendiri yang menyatakan bahwa itu seperti menulis / mengimplementasikan "Penyedia Keanggotaan Kustom" adalah jalan yang harus ditempuh.
Secara harfiah, beberapa menit kemudian, saya menemukan pertanyaan ini: /programming/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/7222407#7222407
Saya mencoba untuk menjawab dan mendapatkan komentar kembali bahwa penyedia Keanggotaan Net. "Mengerikan di banyak tingkatan". Saya akui, ini adalah pertama kalinya saya menggunakan penyedia Keanggotaan tetapi jelas terlihat licin bagi saya.
Saya belum melihat apa pun yang mendukung klaim "mengerikan" jadi sebelum saya menerapkan sesuatu yang "mengerikan", saya berharap untuk mendapatkan umpan balik dari masyarakat.
sumber
Jawaban:
Jadi saya tidak yakin "mengerikan" adalah kata terbaik di sini. Namun, ia memiliki keterbatasan, dan segera setelah kebutuhan Anda tidak sesuai dengan bagaimana penyedia keanggotaan dirancang Anda berakhir dengan banyak kode lem. Jika Anda dapat menggunakan penyedia keanggotaan di luar kotak, saya akan mengatakan pergi untuk itu. Segera setelah Anda mulai menulis kustom saya mempertanyakan menggunakan hal-hal keanggotaan.
Dalam pengalaman saya penyedia keanggotaan membeli Anda ...
Saya yakin ada hal lain yang saya lewatkan tetapi saya pikir itu adalah yang besar. Sekarang ketika Anda membutuhkan manajemen kata sandi khusus, otentikasi dua faktor, untuk bekerja dengan model data yang ada, atau seluruh hal lain yang Anda mulai kehilangan. Kode yang sudah ditulis untuk Anda dengan keanggotaan menyediakan harus mengambil urutan beberapa hari untuk digandakan jika Anda tahu apa yang Anda lakukan.
sumber
Itu tidak melakukan apa yang Anda inginkan. Pada pandangan pertama Anda mungkin menemukan itu mengurus semua kebutuhan Anda dan beberapa, tetapi persyaratan baru muncul. Sekarang Anda 'benar-benar' harus belajar cara kerja benda ini. Manfaat memiliki semua prebuilt ini berkurang karena Anda berada dalam rasa aman yang salah.
@ Travis disebutkan menggunakan model data yang ada, tetapi pilihan database bisa menjadi batasan juga: Oracle?
Saya tidak tahu apakah itu berfungsi dengan sistem verifikasi pihak ketiga seperti Facebook atau Google.
sumber
Mereka tidak sefleksibel yang dipikirkan banyak orang tentang pembacaan cepat dokumen, tetapi mereka punya tempat sendiri.
Jika Anda tidak memerlukan kontrol atas token pengguna dan hanya perlu membangun set data pengguna / keanggotaan kustom atau diperpanjang atau perlu untuk menarik data itu dari sumber yang ada / berbeda mereka memiliki tempat mereka.
Jika Anda ingin mengubah lebih dari itu Anda sering lebih baik mengganti httpmodule yang menjalankan salah satu penyedia auth maka Anda mendapatkan semua kontrol. Kebanyakan orang yang saya temui melanggar hal-hal dengan penyedia membuat pilihan yang salah untuk situasi mereka di tingkat ini.
Apa pun cara Anda mendapatkan konteks.pengguna yang diisi dengan benar yang memungkinkan Anda untuk terus menggunakan sebagian besar fungsi pengguna berbasis asp.net.
sumber
Pertanyaan ini sudah tua tetapi saya mendapatkan lencana untuk popularitasnya, jadi saya pikir itu layak untuk memberikan jawaban yang diperbarui.
Penyedia Keanggotaan Microsoft "Sederhana" akhirnya benar menurut pendapat saya. Jika Anda menulis sesuatu yang baru atau bahkan melampirkan ke database lama dengan aplikasi baru. Gunakan penyedia keanggotaan sederhana. CARA MUDAH dan BERSIH untuk diimplementasikan. Instal beberapa tabel dan arahkan penyedia ke daftar pengguna Anda dan pada dasarnya Anda sudah selesai.
Tautan ini akan membantu Anda memulai atau hanya google saja: http://www.mattjcowan.com/funcoding/2012/11/10/simplemembershipprovider-in-mvc4-for-mysql-oracle-and-more-with-llblgen/
sumber