2009-08-27 16 views
1

Ich arbeite an einer Website, die Facebook Connect verwenden wird, um Benutzer zu authentifizieren. Wir haben auch eine Datenbankstruktur im Backend, um Benutzer über ihre Facebook-Benutzerkennung verschiedenen Gruppen und Rollen zuzuordnen.Lohnt es sich, das ASP.NET-Mitgliedschafts-/Rollenanbietermodell zu verwenden, wenn Sie eine vollständig hauseigene Implementierung durchführen?

Kurz gesagt, die Anforderungen für das Projekt haben nicht wirklich viel Überschneidungen mit der Funktionalität, die von ASP.NETs Mitgliedschafts- und Rollenanbietermodell definiert wird.

Gibt es einen Grund, einen benutzerdefinierten Mitgliedschaftsprovider für dieses Zeug zu implementieren, außer dass es mit dem "eingebauten" Zeug arbeitet und Zugriff über die statische Membership-Klasse hat?

Antwort

7

Ja. Es ist sehr einfach, eine MembershipProvider zu implementieren (Sie müssen wirklich nur die Methode implementieren) und Sie erhalten Zugriff auf einige sehr nützliche asp.net Funktionen, die zumindest eine Menge Ihres Codes vereinfachen (ich denke an Helfer wie Page.User).

+2

+1 - mehr kann ich nicht zustimmen. Für den Aufwand, den es braucht, um die Anbieter zu erstellen, lohnt es sich. –

+2

+1 - Implementieren Sie einfach die ValidateUser-Methode. – Kjensen

0

Nur wenn Sie integrierte oder Komponenten von Drittanbietern basierend auf dem ASP.NET-Mitgliedschaftsmodell verwenden möchten. Wenn nicht - sich nicht damit befassen, da dies Ihre Anwendung einschränken wird.

+1

Können Sie erweitern, wie die Anwendung begrenzt wäre? –

+0

Sie müssen sich an das von MS zur Verfügung gestellte Mitgliedschaftsmodell halten, einschließlich "out" Variablenreferenzen und Ausnahmebehandlung. Natürlich ist es recht einfach zu implementieren und es hat sich gezeigt, dass es gut funktioniert. Ich habe ein Self-bulid-Mitgliedschaftssystem verwendet, ebenso wie das von ASP.NET, und es gibt keinen wirklichen Vorteil für MS im klassischen ASP.NET. Für ASP.NET MVC kann es sinnvoller sein, den MS-Ansatz zu verwenden, da der MVC gut mit den Rollen kombiniert ist (Berechtigungen als Attribute anzeigen). – twk

0

Die Mitgliedschaft APIs sind ein Fassadenmuster, so dass Sie in einem anderen Anbieter austauschen können, wenn Facebook den Weg von MySpace geht und durch die nächste Social-Networking-Mode ersetzt wird.

Also würden Sie einen benutzerdefinierten Anbieter mit Facebook als Rückseite implementieren und tauschen Sie es mit anderen Dingen zum Testen und Zukunftssicherheit.

Ganz wie vollständig ist Ihre Lösung? Die Mitgliedschaft APIs haben coole Sachen wie ein Passwort-Generator, wird verfolgen, wer online ist (durch Aktualität des Logins).