2010-03-10 2 views
5

Verwendung Ich habe lokale Tabelle für BenutzerOpenID Integration in Web-Site ohne lokale Datenbank Benutzerregistrierung

UserID (nvarchar) Konten, Passwort, E-Mail, Namen Rollen usw.

Jetzt UserID in jedem Kind Tabellen verwendet wird, .Ich möchte die OPENID-Registrierung im Moment auf meiner Site aktivieren und wird später die lokale Benutzerregistrierungsfunktionalität integrieren.Sollte ich openid-claimidentifier in das lokale Benutzerkonto (Spalte USERID) einfügen oder eine separate Tabelle für openid erstellen. Im Fall der Erstellung einer separaten Tabelle habe ich keine Daten für die Benutzer-ID (ich habe die lokale Benutzerregistrierung nicht aktiviert).

bitte mich leiten.

Danke.

Antwort

5

Wenn Sie die ClaimedIdentifier Spalt in Ihre Benutzer-Tabelle setzen, können Sie Benutzer-ID eine „int IDENTITY“ Spalte, so dass der SQL-Server automatisch den Wert generiert alle da Du brauchst dort eine eindeutige Nummer. Sie können auch Ihre Passwortspalte löschen, bis Sie eine Benutzerregistrierung hinzugefügt haben (falls Sie dies wünschen).

Aber wenn Sie eine OpenID Tabelle mit einem Fremdschlüssel auf die Tabelle Users erstellen, dann können Sie schließlich lassen Sie Ihren Benutzer mehr OpenIDs ihr ein Konto verknüpfen, die sie Probleme zu vermeiden, wenn sie Provider hilft vorübergehend ist, oder Ihr Konto bei ihrem Provider gesperrt, etc.

StackOverflow, zum Beispiel, nimmt den Mittelweg, so dass der Benutzer höchstens zwei beanspruchte Kennungen mit jedem Konto zuordnen kann.

0

Put OpenID-Kennung in einer anderen Spalte auf Benutzertabelle

+0

und was ist mit USERID, sollte ich es programmatisch generieren.UserID ist Foriegn Schlüssel in anderen Tabellen. –

+0

Sicher, es ist nur eine ID, es ist für niemanden oder für OpenID wichtig – TFD