Domanda

Sto usando SQLMembershipProvider e desidero aggiungere un carico più informazioni sugli utenti. È il modo migliore per farlo per creare un nuovo DB e creare una voce per ogni nuovo utente mentre vengono creati? In tal caso, c'è qualche motivo per non utilizzare il valore UserID di SQLMembershipProvider come PK nella tabella degli utenti nel mio nuovo DB?

Oppure, ci sono dei buoni motivi per creare un nuovo ID utente nel mio nuovo DB e utilizzare l'ID utente SQLMembershipProvider come FK?

È stato utile?

Soluzione

Non riesco a pensare a un motivo per cui non dovrebbe funzionare o perché non dovresti farlo in questo modo (userid come PK)

Non sono sicuro del motivo per cui dovresti utilizzare un database separato per tutto, probabilmente creerei semplicemente la tabella nel database corrente e la configurerei usando userid come FK nella tabella aspnet_users.

Altri suggerimenti

Se stai per riscrivere il provider di appartenenze, cambierei tutte le colonne PK su BITINT da GUID. Lo farei per due motivi; un numero sequenziale è molto più facile da lavorare e da comprendere e in secondo luogo ci sono vantaggi prestazionali derivanti dall'uso di BIGINT invece degli ID GUID. Vorrei anche usare la mia colonna ID che può essere utilizzata per apprezzare altre tabelle nell'applicazione e rimuovere quella che viene fornita per impostazione predefinita nel provider di appartenenze sql. Per fare ciò dovrai fornire il codice per ogni funzione nel provider, non è un compito da poco.

Ho creato un wrapper attorno al mio schema di database esistente, con una classe derivata da MembershipUser che contiene le proprietà aggiuntive e una derivata MembershipProvider che crea istanze del derivata classe MembershipUser .

Uso solo i metodi di autenticazione e aggiornamento dell'appartenenza, poiché le altre API di supporto sono piuttosto limitate. Ho un'API utente di creazione / modifica separata per l'uso da parte dell'amministratore.

Questa soluzione è attualmente in uso su diversi siti e funziona bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top