2010-08-24 6 views
8

Je suis toujours resté à l'écart de l'adhésion à asp.net car il semblait gonflé, et (à l'époque) impossible à tester. Dans le cas d'asp.net MVC spécifiquement, quelqu'un utilise-t-il une solution alternative pour attribuer des rôles aux utilisateurs, et stocker des informations supplémentaires pour l'utilisateur connecté? Toute recommandation? Est-il fou de simplement rouler le vôtre, en mettant en œuvre la fonctionnalité dont vous avez besoin?Alternatives à l'adhésion ASP.NET

+0

Si vous avez besoin d'une alternative alors vous avez probablement des raisons ... pourriez-vous les partager avec nous? Qu'est-ce qui manque dans l'adhésion à asp.net que vous voulez utiliser? –

+3

Je ne sais pas comment c'est "gonflé". Si quelque chose, c'est un peu maigre sur le côté des rôles. – Greg

+0

Vous pouvez ajouter des colonnes aux tables générées par aspnet_regsql, et cela fonctionne très bien. Vous pouvez ensuite vous référer aux tableaux dans quelque chose comme un modèle d'entité si vous le souhaitez. De cette façon, vous pouvez toujours utiliser le fournisseur d'adhésion ASP.NET dans la mesure où cela fonctionne pour vous, mais vous pouvez également bénéficier des informations supplémentaires que vous stockez. – Andrew

Répondre

3

L'appartenance ASP.NET utilise un modèle de fournisseur pour le stockage. SqlMembershipProvider hérite de la fonctionnalité de mot de passe de chiffrement/hachage de la classe abstraite MembershipProvider. Mais vous pouvez également hériter de MembershipProvider et obtenir cette fonctionnalité dans un fournisseur personnalisé si vous le souhaitez. Si vous utilisez le SqlMembershipProvider, vous obtenez une base de données d'adhésion entièrement fonctionnelle avec gestion complète des mots de passe (vérification, modification, réinitialisation, tentatives de mot de passe invalide) et gestion des utilisateurs (opérations CRUD, verrouillage des utilisateurs).

Tout cela est au niveau de l'API. Vous pouvez créer toutes les interfaces utilisateur souhaitées par rapport à l'API. L'utilisation de SqlMembershipProvider ne nécessite pas l'utilisation du fournisseur de rôles ou du fournisseur de profils ou de tout autre élément, et vous pouvez créer le vôtre pour ces éléments sans affecter l'appartenance. À tout le moins, je recommande d'utiliser le SqlMembershipProvider, qui a fait ses preuves, comme le cœur de votre sécurité pour les choses de base.

+0

Je suppose que le problème avec c'est quand vous avez besoin de l'étendre. Ou, votre schéma existant ne correspond pas à la base de données SqlMembershipProvider. – Roco72

+0

étendre le SqlMembershipProvider pourrait être problématique. Personnellement, j'utilise le SqlMembershipProvider dans une application qui fonctionne principalement sur Oracle. Ces tables sont juste assis dans leur propre petite base de données ne pas se soucier de la base de données d'affaires principale et il semble bien fonctionner pour moi. – Greg

0

J'ai implémenté avec succès DotNetOpenAuth en tant que membre et fournisseur de rôle. Ce n'est pas une implémentation complète mais elle gère les scénarios les plus courants.

Ils fournissent des modèles VS pour vous aider à démarrer.