Was sind die Nachteile eines .Net Custom Membership Providers?

12

Kürzlich habe ich die folgende Frage auf SO gepostet: /programming/7197337/using-asp-net-membership-provider-with-existing-user-database

Wie Sie vielleicht bemerken, beantwortete ich schließlich meine eigene Frage, dass das Schreiben / Implementieren eines "Custom Membership Providers" der richtige Weg wäre.

Buchstäblich ein paar Minuten später stoße ich auf diese Frage: /programming/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/7222407#7222407

Ich versuche zu antworten und bekomme einen Kommentar zurück, der besagt, dass .Net Membership Provider "auf vielen Ebenen schrecklich" ist. Ich gebe zu, dies ist das erste Mal, dass ich den Mitgliedschaftsanbieter benutze, aber es sah für mich wirklich gut aus.

Ich habe nichts gesehen, was die "schreckliche" Behauptung stützt. Bevor ich etwas "schreckliches" implementiere, habe ich gehofft, ein Feedback von der Community zu bekommen.

SLoret
quelle
Freue mich auf die Antworten, +1 ..
Pankaj Upadhyay

Antworten:

1

Ich bin mir also nicht sicher, ob "schrecklich" das beste Wort ist. Es gibt jedoch Einschränkungen, und sobald Ihre Anforderungen nicht mit den Anforderungen des Mitgliedsanbieters übereinstimmen, erhalten Sie eine Menge Klebercode. Wenn Sie den Mitgliedschaftsanbieter sofort nutzen können, würde ich sagen, machen Sie mit. Sobald du anfängst, ein benutzerdefiniertes zu schreiben, frage ich dich sowieso, was die Mitgliedschaft angeht.

Meiner Erfahrung nach kauft der Mitgliedschaftsanbieter Sie ...

  • Melden Sie sich bereits für die MVC-App an
  • Kontobearbeitung
  • Passwort vergessen ist einfach anzuschließen
  • Überprüfen Sie die Benutzermethode

Ich bin mir sicher, dass ich noch etwas vermisse, aber ich denke, das sind die Großen. Wenn Sie jetzt eine benutzerdefinierte Kennwortverwaltung, eine Zwei-Faktor-Authentifizierung für die Arbeit mit einem vorhandenen Datenmodell oder eine ganze Reihe anderer Dinge benötigen, verlieren Sie diese. Der Code, der bereits mit der Mitgliedschaftsangabe für Sie geschrieben wurde, sollte einige Tage in Anspruch nehmen, um zu duplizieren, wenn Sie wissen, was Sie tun.

Travis
quelle
1

Es macht nicht was Sie wollen. Auf den ersten Blick werden Sie vielleicht feststellen, dass es all Ihre und einige Ihrer Bedürfnisse befriedigt, aber es kommt eine neue Anforderung auf. Jetzt muss man wirklich lernen, wie das funktioniert. Der Nutzen all dieser vorgefertigten Produkte lässt nach, weil Sie sich in diesem falschen Sicherheitsgefühl befanden.

@Travis erwähnte die Verwendung eines vorhandenen Datenmodells, aber die Auswahl der Datenbank kann auch eine Einschränkung sein: Oracle?

Ich weiß nicht, ob es mit Verifizierungssystemen von Drittanbietern wie Facebook oder Google funktioniert.

JeffO
quelle
1

Sie sind nicht so flexibel wie viele Leute denken, wenn sie die Dokumente schnell lesen, aber sie haben ihren Platz.

Wenn Sie keine Kontrolle über die Benutzertoken benötigen und nur benutzerdefinierte / erweiterte Benutzerdaten oder Mitgliedschaftssätze erstellen oder diese Daten aus einer vorhandenen / anderen Quelle beziehen müssen, haben sie ihren Platz.

Wenn Sie mehr als das ändern möchten, ist es oft besser, das http-Modul zu ersetzen, auf dem einer der Authentifizierungsanbieter ausgeführt wird. Dann haben Sie die volle Kontrolle. Die meisten Leute, bei denen ich Probleme mit Anbietern hatte, trafen auf dieser Ebene die falsche Wahl für ihre Situation.

In beiden Fällen erhalten Sie einen ordnungsgemäß ausgefüllten context.user, mit dem Sie die meisten asp.net-basierten Benutzerfunktionen weiterhin verwenden können.

Rechnung
quelle
1

Diese Frage ist alt, aber ich bekomme Abzeichen für ihre Beliebtheit. Ich denke, es lohnt sich, eine aktualisierte Antwort zu geben.

Microsofts "Simple" Membership Provider hat es meiner bescheidenen Meinung nach endlich richtig gemacht. Wenn Sie mit einer neuen Anwendung etwas Neues schreiben oder sogar eine ältere Datenbank anhängen. Verwenden Sie den einfachen Mitgliedschaftsanbieter. Einfacher und sauberer zu implementieren. Installieren Sie ein paar Tabellen und verweisen Sie den Anbieter auf Ihre Benutzerliste, und Sie sind im Grunde genommen fertig.

Mit diesem Link können Sie loslegen oder einfach googeln: http://www.mattjcowan.com/funcoding/2012/11/10/simplemembershipprovider-in-mvc4-for-mysql-oracle-and-more-with-llblgen/

SLoret
quelle
die einfache Mitgliedschaft Anbieter ist genau das .. Einfach
Hanzolo