2 votes

Les fournisseurs d'adhésion peuvent-ils faire des demandes spécifiques ?

Dans un modèle multi-locataires (base de données distincte par client), est-il possible ou même souhaitable d'utiliser les fournisseurs Microsoft MembershipProvider ou SimpleMembership ?

le fournisseur d'adhésion original est configuré à partir du web.config et le Simplemembershipprovider (dans le modèle MVC4) a une méthode qui initialise la base de données par démarrage de l'application plutôt que par session ou demande.

Est-ce que les fournisseurs d'adhésion/adhésion simple sont donc liés à l'application ou, en principe, est-il judicieux de modifier la connexion à la base de données pour qu'elle pointe vers la base de données du client demandeur par demande ?

1voto

jgauffin Points 51913

C'est possible avec mon fournisseur d'adhésion personnalisé :

http://blog.gauffin.org/2011/09/a-more-structured-membershipprovider/

Créez votre propre IAccountRepository en plus de celui du paquet SqlServer. C'est beaucoup plus facile que d'implémenter son propre fournisseur.

0voto

Kobi Points 65357

J'ai vu et mis en œuvre quelque chose de très similaire à cela, basé sur le code de ASP.NET : Prise en charge des applications dynamiques .

Ce n'est pas la même chose que ce que vous demandez - le but ici est d'utiliser la même base de données de membres, mais avec un nom d'application différent pour chaque client.

Je ne suis pas sûr de la façon dont vous pouvez définir la chaîne de connexion de façon dynamique. SqlMembershipProvider n'expose pas cette propriété. Vous pouvez commencer par Initialize mais comme vous l'avez dit, il ne fonctionne pas à chaque demande. Vous avez également la possibilité de créer votre propre fournisseur, et de créer un fichier interne de type SqlMembershipProvider par demande.

0voto

Tim Points 1601

Nous avons établi que nous devions utiliser l'injection de dépendances pour ajouter des fournisseurs de membres personnalisés par demande de locataire. Après une enquête approfondie, il est apparu que nous ne pouvions pas modifier la connexion du fournisseur d'adhésion et nous assurer qu'elle n'avait pas été remodifiée par une autre demande avant la fin de la demande. En raison de sa conception singleton.

Cheers Tim

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X