2010-09-13 6 views

Répondre

8

Si vous voulez un fournisseur d'appartenances personnalisé, il vous suffit de créer une classe qui hérite de la classe abstraite MembershipProvider. Ensuite, vous devrez implémenter des méthodes abstraites telles que, ValidateUser, UpdateUser, GetUser, etc. Vous pouvez utiliser EntityFramework lors de l'implémentation de vos méthodes de fournisseur d'appartenances personnalisées.

Les documents ci-dessous implémentent un fournisseur d'appartenances personnalisé avec odbc. Vous pouvez utiliser votre EntityModel au lieu de odbc.

http://msdn.microsoft.com/en-us/library/44w5aswa.aspx

http://msdn.microsoft.com/en-us/library/6tc47t75.aspx

+8

nulle part dans la question est là une mention d'une implémentation de fournisseur personnalisé. Je vois trop souvent les gens suggérant de mettre en œuvre une pile de fournisseurs personnalisés avant qu'ils ne comprennent réellement le domaine du problème. -1 –

+1

Mais la question n'a même pas de sens, et c'est une bonne réponse générale. – fabspro

6

Non, SqlMembership, ainsi que les autres fournisseurs de la pile Sql, utiliser des procédures stockées appelées directement.

Vous pouvez, si vous le souhaitez, construire un modèle conceptuel EF au-dessus de votre base de données aspnet_db si vous souhaitez l'examiner ou interagir avec. Mais laissez-moi vous suggérer fortement de le traiter comme étant en lecture seule, sauf si vous savez exactement ce que vous voulez mettre à jour ou supprimer.

10

Refusé sur la réponse de Musa pour enlever le négatif. Il n'y a aucune mention de fournisseur d'adhésion personnalisé, mais cela ne signifie pas que ce n'est pas la réponse.

Il est sur la bonne voie, il n'y a pas de fournisseur spécifique EF4 livré avec le cadre, mais vous pouvez créer le vôtre. Ceci consolide réellement le domaine du problème, en ce sens que vous pouvez lier PROPREMENT les utilisateurs au reste de vos objets d'entité plutôt que de traiter l'appartenance comme une boîte noire séparée que vous devez contourner.

La façon de procéder est en effet d'hériter de MembershipProvider et d'implémenter les méthodes abstraites. Une fois que vous avez fait cela, vous pouvez faire ce que vous voulez avec les utilisateurs, etc plutôt que de craindre de casser les tables SQLMembership et les procédures stockées que vous obtenez par défaut - que je n'aime pas utiliser car ils sont moche.

Je viens de le faire, en utilisant mon propre modèle EF4, avec ma propre implémentation d'utilisateurs, etc. J'ai utilisé l'exemple de code fourni avec cette vidéo - http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider. BTW si vous utilisez cet exemple de code, faites attention à quelques fautes de frappe dans les noms de procédure stockée!

+0

merci pour votre commentaire! – GibboK

+0

Existe-t-il un tutoriel similaire pour C#? Merci! – mishap

+0

@Chuchelo il ya l'option de code de téléchargement C#, mais pas de vidéo. Ce n'est pas difficile de suivre la vidéo avec le C# disponible. – GerManson