Frage

Ich bin mit dem SqlMembershipProvider und will eine Last weitere Informationen über den Benutzer hinzuzufügen. Es ist der beste Weg, dies zu tun, einen neuen DB und einen Eintrag für jeden neuen Benutzer zu erstellen, wie sie erstellt werden? Wenn ja, gibt es keinen Grund, nicht den SqlMembershipProvider UserID Wert wie die PK in der Benutzer-Tabelle in meiner neuen DB zu benutzen?

Oder gibt es gute Gründe, eine neue Benutzer-ID in meiner neuen DB zu schaffen und den SqlMembershipProvider UserID als FK verwenden?

War es hilfreich?

Lösung

Ich kann nicht aus einem Grund denken, warum das nicht funktionieren würde, oder warum sollten Sie es nicht tun, dass die Art und Weise (Benutzer-ID als PK)

Ich bin nicht sicher, warum Sie eine separate Datenbank für alles verwenden würden, würde ich wahrscheinlich nur die Tabelle in der aktuellen Datenbank erstellen und sie nach oben mit der Benutzer-ID als FK zur aspnet_users Tabelle.

Andere Tipps

Wenn Sie die Mitgliedschaftsanbieter zu werden Umschreiben Ich würde alle der PK Spalten wechseln von GUID BITINT. Ich würde dies aus zwei Gründen tun; eine fortlaufende Nummern sind viel einfacher zu handhaben und zu verstehen, und die zweite gibt es Performance-Vorteile der Verwendung von BIGINT statt GUID Ids. Ich würde auch nur meine eigene ID-Spalte verwenden, die anderen Tabellen in der Anwendung wie verwendet werden kann, und entfernen Sie die eine, die in den SQL-Mitgliedschaftsanbietern standardmäßig kommen. Dazu müssen Sie Code für jede Funktion in dem Provider zur Verfügung zu stellen, ist es keine leichte Aufgabe.

Ich habe einen Wrapper um mein vorhandenes Datenbankschema erstellt, mit einer Klasse von MembershipUser abgeleitet, die die zusätzlichen Eigenschaften enthalten, und ein MembershipProvider Derivat, die Instanzen der abgeleiteten MembershipUser Klasse erstellt.

ich nur die Mitgliedschaft Authentifizierung und Update-Methoden verwenden, da die anderen unterstützenden APIs etwas begrenzt ist. Ich habe einen separaten erstellen / bearbeiten Benutzer-API für die Admin-Anwendung.

Diese Lösung wird zur Zeit an mehreren Standorten eingesetzt werden und funktioniert gut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top