Apprendre à créer des WebSecurity.Login et WebSecurity.CreateUserAndAccount méthodes MVC 4?
Lorsque nous choisissons New Project --> MVC 4 --> Internet Application
, il va automatiquement générer AccountController pour nous. Dans ce contrôleur, je ne se soucient 2 actions, Login
et Register
.
Dans MVC 3, il utilise l'Adhésion de méthodes statiques, ValidateUser
dans Login
action et CreateUser
dans Register
. Donc, si je veux l'intégrer à ma propre base de données, j'ai juste besoin de créer CustomMembershipProvider
en étendant MembershipProvider
et remplacer que deux méthodes.
Mais en MVC 4, il utilise WebSecurity.Login
et WebSecurity.CreateUserAndAccount
. Mes questions sont les suivantes:
- Comment puis-je utiliser mon propre base de données comme je l'ai fait dans MVC 3?
- Quelle est la différence? Pourquoi ne pas continuer à utiliser statique Adhésion méthodes? Pourquoi a-t-elle pour changer de
WebSecurity
?
Merci beaucoup pour votre aide.
OriginalL'auteur Triet Doan | 2013-05-17
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin pour réaliser ses propres Membres et le Rôle des fournisseurs.
Fournisseur Personnalisé:
Vous aurez juste besoin de remplacer les méthodes que vous voulez "intercepter" (c'est à dire ValidateUser). Vous devez également enregistrer le fournisseur dans le web.fichier de configuration:
Vous devez également avoir un Filtre appelé "InitializeSimpleMembershipAttribute"
J'espère que cela aide...
Comment créer des SimpleRoleProvider et config?
Le filtre n'est pas seulement de créer la base de données, Il initialise aussi la WebSecurity classe. En faisant cela, vous êtes en mesure de dire WebSecurity la base de données et les champs à utiliser. Le filtre est un bon endroit pour l'initialisation car les attributs sont réutilisables. Vous pourriez faire l'initialisation dans le gloabal.asax page, j'en suis sûr. Cependant, ce n'est pas comme granulaire si vous avez besoin de plus de contrôle et de l'initialisation dans d'autres endroits, peut conduire à des duplications de code, qui peut se transformer en un entretien cauchemar. Aussi, même si vous utiliser entity framework vous utilisez encore quelque chose à cet effet.
En fait, si vous n'étiez pas à l'aide de EF ce serait un peu plus complexe.
ai-je répondre à votre question ou êtes-vous encore de la difficulté avec cela?
OriginalL'auteur PantsOffNow
ASP.NET MVC 4 utilise un nouveau fournisseur d'appartenances appelé SimpleMembershipProvider. WebMatrix est une façade de plus de SimpleMembershipProvider. Il n'est plus nécessaire de modifier le fichier de configuration ASP.NET MVC 4. Plus d'infos ici: http://aaron-hoffman.blogspot.com/2013/02/aspnet-mvc-4-membership-users-passwords.html
1.Comment puis-je utiliser mon propre base de données comme je l'ai fait dans MVC 3?
Un: Pas besoin de surcharger SimpleMembershipProvider si vous souhaitez annuler votre propre. Supprimer la référence à l'
InitializeSimpleMembershipAttribute
dans leAccountController
de classe et de modifier les méthodes de laAccountController
classe.2.Quelle est la différence? Pourquoi ne pas continuer à utiliser statique Adhésion méthodes? Pourquoi a-t-elle pour changer de WebSecurity?
Un: ASP.NET MVC 4 utilise Désormais un nouveau fournisseur d'appartenances: SimpleMembershipProvider.
OriginalL'auteur Aaron Hoffman