Quels sont les inconvénients de l'utilisation / de l'écriture d'un fournisseur d'adhésion personnalisé .Net?

12

Récemment, j'ai posté la question suivante sur SO: /programming/7197337/using-asp-net-membership-provider-with-an-existing-user-database

Comme vous le remarquerez peut-être, j'ai fini par répondre à ma propre question en disant qu'il semblait que la rédaction / la mise en œuvre d'un «fournisseur d'adhésion personnalisé» était la voie à suivre.

Littéralement, quelques minutes plus tard, je tombe sur cette question: /programming/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/7222407#7222407

J'essaie de répondre et d'obtenir un commentaire que le fournisseur d'adhésion .Net est "terrible à plusieurs niveaux". Je l'admets, c'est la première fois que j'utilise le fournisseur d'adhésion, mais il m'a certainement semblé lisse.

Je n'ai rien vu qui étaye la revendication "terrible", donc avant de mettre en œuvre quelque chose de "terrible", j'espérais obtenir des commentaires de la communauté.

SLoret
la source
Dans l'attente des réponses, +1 ..
Pankaj Upadhyay

Réponses:

1

Je ne suis donc pas sûr que "terrible" soit le meilleur mot ici. Cependant, il a des limites et dès que vos besoins ne correspondent pas à la façon dont le fournisseur d'adhésion a été conçu, vous vous retrouvez avec beaucoup de code à coller. Si vous pouvez utiliser le fournisseur d'adhésion hors de la boîte, je dirais allez-y. Dès que vous commencez à en écrire un personnalisé, je remets en question l'utilisation des éléments d'adhésion de toute façon.

D'après mon expérience, le fournisseur d'adhésion vous achète ...

  • Inscrivez-vous déjà intégré à l'application MVC
  • Modification du compte
  • Mot de passe oublié est facile à connecter
  • Valider la méthode utilisateur

Je suis sûr qu'il manque autre chose, mais je pense que ce sont les gros. Désormais, lorsque vous avez besoin d'une gestion de mot de passe personnalisée, d'une authentification à deux facteurs, pour travailler avec un modèle de données existant ou toute une série d'autres choses, vous commencez à perdre. Le code qui est déjà écrit pour vous avec l'adhésion fournit devrait prendre quelques jours pour être dupliqué si vous savez ce que vous faites.

Travis
la source
1

Il ne fait pas ce que vous voulez. À première vue, vous trouverez peut-être qu'il répond à tous vos besoins et à certains, mais une nouvelle exigence apparaît. Maintenant, vous devez "vraiment" apprendre comment cette chose fonctionne. L'avantage d'avoir tout cela pré-construit diminue parce que vous étiez dans ce faux sentiment de sécurité.

@Travis a mentionné l'utilisation d'un modèle de données existant, mais le choix de la base de données peut également être une restriction: Oracle?

Je ne sais pas si cela fonctionne avec des systèmes de vérification tiers comme Facebook ou Google.

JeffO
la source
1

Ils ne sont pas aussi flexibles que beaucoup de gens le pensent en lisant rapidement les documents, mais ils ont leur place.

Si vous n'avez pas besoin de contrôler les jetons utilisateur et que vous avez seulement besoin de créer un ensemble de données utilisateur ou d'appartenance personnalisé / étendu ou que vous devez extraire ces données d'une source existante / différente, ils ont leur place.

Si vous souhaitez modifier plus que cela, il vaut souvent mieux remplacer le httpmodule qui exécute l'un des fournisseurs d'authentification, alors vous obtenez tout le contrôle. La plupart des gens que j'ai rencontrés en cassant les choses avec les prestataires ont fait le mauvais choix pour leur situation à ce niveau.

Dans les deux cas, vous obtenez un context.user correctement rempli qui vous permet de continuer à utiliser la plupart des fonctions utilisateur basées sur asp.net.

Facture
la source
1

Cette question est ancienne mais je reçois des badges pour sa popularité, je pense donc que cela vaut la peine de fournir une réponse mise à jour.

Le fournisseur d'adhésion "Simple" de Microsoft a finalement raison à mon humble avis. Si vous écrivez quelque chose de nouveau ou même en l'attachant à une base de données héritée avec une nouvelle application. Utilisez le fournisseur d'adhésion simple. PLUS FACILE et PLUS PROPRE à mettre en œuvre. Installez quelques tables et dirigez le fournisseur vers votre liste d'utilisateurs et vous avez terminé.

Ce lien vous permettra de démarrer ou simplement de le rechercher sur Google: http://www.mattjcowan.com/funcoding/2012/11/10/simplemembershipprovider-in-mvc4-for-mysql-oracle-and-more-with-llblgen/

SLoret
la source
les fournisseurs d'adhésion simple est juste que .. Simple
hanzolo