Puramente come punto di riferimento, potrebbe essere una buona idea creare un nuovo modello di applicazione Internet di un progetto di applicazione Web ASP.NET MVC 4 (ad esempio tramite File> Nuovo progetto).
Se guardi il AccountController , come dice @zms6445, è decorato con un InitializeSimpleMembership attributo. Puoi trovare l'implementazione di questo attributo nel file InitializeSimpleMembershipAttribute.cs nella cartella Filtri all'interno della directory principale.
Qui, questa è la parte mancante del puzzle:devi collegare il tuo database esistente in modo che venga utilizzato da SimpleMembershipProvider . Questo è il codice che ti serve:
private class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
try
{
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("CONNECTION_STRING_NAME", "USER_TABLE", "USER_ID_FIELD", "USER_NAME_FIELD", autoCreateTables: true);
}
}
catch (Exception ex)
{
throw new InvalidOperationException("Something is wrong", ex);
}
}
}
Alcune cose da notare:
-
CONNECTION_STRING_NAMEè una voce nel tuo Web.config ConnectionStrings - NON PUOI utilizzare la stringa di connessione del modello qui - ilSimpleMembershipProvidernon riconosce quel formato! Devi specificare unSystem.Data.SqlClientstringa di connessione, ad es. -
USER_TABLEè la tabella nel tuo database per contenere informazioni aggiuntive sull'utente, come nome, cognome, ecc. Questa è collegata alle tabelle generate automaticamente tramite USER_ID_FIELD. -
USER_ID_FIELDè solitamente la chiave primaria della tabella Utenti. Deve essere di tipoint. -
USER_ID_NAMEè un nome univoco per l'utente, che potrebbe essere un indirizzo e-mail. -
autoCreateTablesè impostato sutrueper garantire che le tabelle necessarie per il funzionamento di SimpleMembership vengano create se non esistono già.
Ovviamente, questo codice viene attivato solo se visiti una pagina tramite AccountController , poiché questo è stato decorato dall'attributo. Potresti inserire un punto di interruzione e vederlo in azione.
Questo dovrebbe iniziare:il modello di applicazione Internet è un modello abbastanza buono da seguire se rimani bloccato.
Spero che questo aiuti.