À 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_NAME
est une entrée dans votre web.config ConnectionStrings - vous NE POUVEZ PAS utiliser la chaîne de connexion du modèle ici - leSimpleMembershipProvider
ne reconnaît pas ce format ! Vous devez spécifier unSystem.Data.SqlClient
chaîne de connexion, par ex. -
USER_TABLE
est 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_FIELD
est généralement la clé primaire de votre table Users. Il doit être de typeint
. -
USER_ID_NAME
est un nom unique pour l'utilisateur, qui peut être une adresse e-mail. -
autoCreateTables
est défini surtrue
pour 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.