Question

Je suis en train de convertir très vieux, mais le site de travail ASP classique ASP.Net.

Il a écrit complètement sur mesure système de gestion des utilisateurs. Alors que cela fonctionne très bien, il a vraiment besoin d'un rafraîchissement que je veux qu'il soit plus flexible pour certains projets futurs dans les travaux.

Quand j'ai demandé quelqu'un à ce sujet, ils ont dit « Vous devez utiliser le fournisseur Microsoft » et a donné une conférence sur la façon dont libérer Microsoft toutes ces choses gratuitement et comment ils sont bons et doivent être re utilisés autant que possible.

Je l'ai fait un peu de recherches sur elle (principalement à la recherche sur les vidéos http://asp.net/learn ) et je suis très impressionné par certaines des fonctionnalités comme il semble y avoir des composants de glisser-déposer pour les articles qui me prendre énormément de temps à écrire.

Cependant, la base de données de composition actuelle est compliquée à expliquer, il est une base de données entièrement écrite personnalisée qui a beaucoup de relations internes ... Il est pas vraiment « compatible » avec le fournisseur Microsoft par défaut.

J'ai examiné Comment faire: Créer un fournisseur d'adhésion personnalisée? , mais je me sens un peu hors de ma zone de confort et de peur qu'elle soit lente, introduire un trou de sécurité ou tout simplement ne fonctionnera pas.

A la fin de la journée, le fournisseur d'appartenances Microsoft devrait travailler pour moi - le seul customisations je vraiment besoin est la connexion à utiliser le champ nom d'utilisateur / mot de passe dans ma base de données et la création de script utilisateur qui a beaucoup de code personnalisé à plusieurs systèmes tiers (besoin de services de fourniture, etc.).

Je me demandais, que feriez-vous si face à une situation similaire?

  1. Utilisez le fournisseur d'appartenances Microsoft et obtenir en quelque sorte à travailler pour vous (même si je voudrais des suggestions)

  2. Utilisez le fournisseur d'appartenances Microsoft, mais utilisez le fournisseur personnalisé qui est personnalisé autour de votre code.

  3. Utilisez votre propre solution entièrement personnalisée?

Était-ce utile?

La solution

Cette vidéo fait compliquer les choses :) Si vous allez mettre en œuvre un fournisseur personnalisé puis réflecteur sur celui-ci est un bon endroit pour commencer existant:)

En option rapide et sale, vous pouvez, bien sûr, pirater les procédures stockées que le fournisseur d'appartenances SQL utilise, mais le code personnalisé aux services de fourniture est probablement d'étirement.

Si vous pensez à ce sujet la fourniture à distance des services ne fait pas vraiment dans un fournisseur d'appartenances, ce n'est pas vraiment une fonction d'appartenance - tous les membres est de fournir les noms d'utilisateur ne et des mots de passe et l'authentification autour d'eux. Mon sentiment est que vous devez déplacer la fourniture de services de là, et l'exécuter sur le site ASP.NET après qu'un utilisateur a été créé - même si cela est juste d'appeler une procédure stockée une fois que le fournisseur d'appartenances a fait sa chose. Si vous faites cela, vous pouvez constater que le fournisseur d'appartenances SQL fera tout ce dont vous avez besoin pour (probablement avec les rôles et les fournisseurs de profil aussi), et donc vous avez moins de code façon d'écrire!

Autres conseils

Je suis dans des situations similaires dans le passé. Dans les deux cas, nous avons créé des implémentations personnalisées des fournisseurs (MembershipProvider, RoleProvider, ProfileProvider) autour du mécanisme existant.

Dans les deux cas, nous avons utilisé uniquement les implémentations de fournisseur d'accès en lecture seule, par exemple pour nous donner les Gubbins de validation facile à web.config et suchlike. Le code de l'administration des utilisateurs a été laissé bien seul comme il fonctionnait très bien.

Si les travaux de fournisseur existants (a les bons champs pour vos données), l'utiliser pour démarrer. Vous pouvez très facilement remplacer que par un fournisseur de client plus tard (un seul changement de valeur de configuration).

Attention il n'y a pas un « hors de la boîte » interface de gestion de ASP.NET pour cela, vous aurez besoin de rouler seul ou utiliser un tiers un.

Utiliser mon MembershipProvider spécialisé pour travailler sur mes propres tables de base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top