2010-04-10 11 views
1

Je dois avouer que je déteste le fournisseur d'adhésion. L'implémentation par défaut est pas très approprié normalement et je n'ai pas vu jusqu'à présent une bonne mise en œuvre d'un fournisseur d'appartenances personnalisé, probablement parce que cela est impossible :-)Pourquoi le fournisseur d'appartenances n'est pas générique?

La question est:

À votre avis : quelles sont les raisons de ne pas avoir de membre/fournisseur de rôle en tant que classe générique? Je veux dire, pourquoi Microsoft n'a pas choisi cette approche.

EDIT

La lecture de la réponse que je réalisais que peut-être il n'a pas été assez clair que je parle MembershipProvider et RoleProvider. PAS sur le mécanisme d'authentification de base de ASP NET.

+0

Générique comme dans 'MembershipProvider '? Que serait «T»? – dtb

+0

@dtb: Votre classe personnalisée d'utilisateur – StackOverflower

Répondre

5

Les raisons les plus évidentes qui viennent à l'esprit sont:

  • Les classes par défaut sont suffisantes pour la plupart des (principalement: la gestion des utilisateurs, authentification et contrôles d'autorisation);

  • Le système est déjà extensible via l'héritage (implémentation IPrincipal).

  • Le système d'appartenance a été conçu pour le Framework .NET 1.1, avant que les génériques ne soient disponibles.

+0

@Aaronaught: Merci pour votre réponse. Les méthodes du fournisseur d'appartenance retournent une instance MembershipUser. Si vous voulez retourner quelque chose d'autre, vous devez hériter de cette classe et la jeter à l'extérieur. Aucune méthode ne retourne une interface :-( – StackOverflower

+0

@Timmy: Peut-être que vous devriez lire une partie de la documentation http://msdn.microsoft.com/en-us/library/aa480476.aspx – Aaronaught

+0

@Aaronaught: Merci encore. est connecté à MembershipProvider? – StackOverflower