Wie integriere ich die aspnet_users Tabelle (asp.net Mitgliedschaft) in meine vorhandene database

Ich habe eine database, die bereits eine Benutzer-Tabelle hat

SPALTEN:
userID – int
loginName – string
Erste String
Last – String

Ich habe gerade die asp.net Mitgliedschaft Tabelle installiert. Im Moment sind alle meine Tische in meine User-Tabelle freigegeben, die in das Feld "userId" eingegeben wurde

Wie integriere ich asp.net_users Tabelle in mein Schema? hier sind die Ideen, die ich dachte:

  1. Fügen Sie ein Membership_id- Feld zu meiner Benutzer-Tabelle und auf neue Einfügungen hinzu, fügen Sie das neue Feld in meine Benutzer-Tabelle ein. Dies scheint wie die sauberste Art und Weise, wie ich nicht brauchen, um bestehende Beziehungen zu brechen.

  2. brechen alle vorhandenen Beziehungen und verschiebe alle Felder in meiner Benutzertabelle in die Tabelle asp.net_users. Das scheint wie ein Schmerz, aber letztlich wird die einfachste, normalisierte Lösung führen

irgendwelche gedanken

Ich benutze regelmäßig alle Arten von Provider-Stacks mit großem Erfolg.

Ich werde mit der respektvollen Beobachtung fortfahren, dass Ihre Erfahrung mit dem SqlProvider Stack begrenzt ist und dass der path des geringsten Widerstands scheint Ihnen zu sein, um in aspnet_db zu spleißen.

Der abstrakte Anbieter Stack bietet sauber getrennte Feature-Sets, die komplimentieren und miteinander interagieren auf eine intuitive Art und Weise … wenn Sie sich die time nehmen zu verstehen, wie es funktioniert.

Und bei der Erweiterung, während nicht perfekt, bieten die SqlProvider eine sehr robuste Backing-Shop für die umfangreiche Personalisierung und security Einrichtungen, die unter der asp.net Laufzeit.

Je mehr Anstrengungen Sie machen, um die functionsweise dieser Einrichtungen zu verstehen, konzentriert sich weniger darauf, wie Sie das vorhandene Schema ändern und lesen können, wie Sie sich vorstellen können, wie Ihre vorhandenen data in das bestehende Schema passen könnten, je weniger Aufwand Sie letztendlich ausgeben werden um letztlich mit einem robusten, leicht verständlichen securitys- und Personalisierungssystem zu enden, das du nicht entcasting, schreiben, testing und pflegen musst.

Versteh mich nicht falsch, ich sage nicht, die Anbieter anzupassen. Das ist der ganze Punkt eines abstrakten Fabrikmusters. Aber bevor du es dir nimmst, dich in ein database- / Schema / kritisches infrastrukturelles System zu verspielen, würde es dir besser gehen, es besser zu verstehen.

Und sobald Sie zu diesem Punkt kommen, werden Sie beginnen zu sehen, wie einfach das Leben sein kann, wenn Sie sich auf das Lernen, wie man Systeme, die Tausende von Mann Stunden in dev time haben und unzählige Benutzer jede Minute jeden Tag Arbeit für Sie die tatsächliche Arbeit zu machen konzentrieren Sie werden auf die Dinge getan, die Sie und Ihre Stakeholder wirklich interessieren.

Also – lassen Sie mich vorschlagen, dass Sie Ihre Benutzer in den aspnet_db / sqlprovider Stack importieren und die bereitgestellten Einrichtungen nutzen.

Der UserId in aspnet_db ist eine Guid und sollte aus vielen Gründen so bleiben. Wenn Sie die ursprüngliche integrale Benutzer-ID beibehalten müssen – legen Sie sie in das mobile Pin-Feld als reference.

Mitgliedschaft ist, wo Sie Informationen platzieren möchten, die für security und Identifikation relevant sind. Benutzername, Passwort, etc.

Profile sind, wo Sie wollen volitile Meta wie Namen und Website-Einstellungen platzieren.

Jedenfalls – was ich versuche zu sagen ist, dass Sie ein besseres Verständnis der database und der Anbieter haben müssen, bevor Sie es hacken. Beginnen Sie mit dem Verständnis, wie Sie es verwenden, wie bereitgestellt und Ihre Erfahrung wird mehr fruchtbar sein.

Viel Glück.

In meiner Erfahrung stellt der "ASP.NET-Mitgliedschaftsanbieter" mehr Komplexität vor als es triggers. Also würde ich für Option 2 gehen: eine benutzerdefinierte Benutzer-Tabelle.

PS Wenn jemand den "ASP.NET Mitgliedschaftsanbieter" mit Erfolg benutzt hat, bitte kommentieren!