À titre purement indicatif, il peut être judicieux de créer un nouveau modèle d'application Internet d'un projet d'application Web ASP.NET MVC 4 (c'est-à-dire via Fichier> Nouveau projet).
Si vous regardez le AccountController , comme le dit @zms6445, il est décoré d'un InitializeSimpleMembership attribut. Vous pouvez trouver l'implémentation de cet attribut dans le fichier InitializeSimpleMembershipAttribute.cs dans le dossier Filters du répertoire racine.
Ici, c'est la partie manquante du puzzle - vous devez connecter votre base de données existante afin qu'elle soit utilisée par le SimpleMembershipProvider . Voici le code dont vous avez besoin :
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);
}
}
}
Quelques points à noter :
-
CONNECTION_STRING_NAMEest une entrée dans votre web.config ConnectionStrings - vous NE POUVEZ PAS utiliser la chaîne de connexion du modèle ici - leSimpleMembershipProviderne reconnaît pas ce format ! Vous devez spécifier unSystem.Data.SqlClientchaîne de connexion, par ex. -
USER_TABLEest la table de votre base de données contenant des informations supplémentaires sur l'utilisateur, telles que le prénom, le nom, etc. Elle est liée aux tables générées automatiquement via USER_ID_FIELD. -
USER_ID_FIELDest généralement la clé primaire de votre table Users. Il doit être de typeint. -
USER_ID_NAMEest un nom unique pour l'utilisateur, qui peut être une adresse e-mail. -
autoCreateTablesest défini surtruepour s'assurer que les tables nécessaires au fonctionnement de SimpleMembership sont créées si elles n'existent pas déjà.
Bien sûr, ce code n'est déclenché que si vous accédez à une page via le AccountController , puisqu'il a été décoré par l'attribut. Vous pouvez y mettre un point d'arrêt et le voir en action.
Cela devrait vous aider à démarrer - le modèle d'application Internet est un très bon modèle à suivre si vous êtes bloqué.
J'espère que cela vous aidera.