ASP.NET MVC 2 - Fournisseur d'appartenances - ValidateUser() - retourne le login message d'erreur

Comment puis-je retourner un message de chaîne à partir de la méthode ValidateUser à mon fournisseur d'appartenances personnalisé? J'ai besoin de cela parce que je veux effectuer plusieurs contrôles (utilisateur est approuvé, l'utilisateur est bloqué, etc.) et donner à l'utilisateur une bonne description, si le processus d'ouverture de session échoue.

Une option serait de lancer une exception, mais quelqu'un a dit que ce n'est pas un moyen approprié pour le traitement de telles situations.

Pour l'instant, je peux seulement dire "échec de la Connexion" ou "Connexion réussie" en raison de l'bool type de retour.

Est-il possible de créer ma propre méthode ValidateUser ou ne l'ASP.NET l'Adhésion mécanisme utilise celui par défaut dans les opérations internes?

Ce n'est pas une bonne idée de déclarer un lock-out dans une application web, quelqu'un essayer un mot de passe par force brute attaque en savoir arrêter et d'attendre plutôt que de porter sur, et potentiellement présenter le bon mot de passe pour un compte verrouillé et donc à défaut d'y avoir accès. Juste une pensée pour vous.
Merci pour l'astuce de Lazare.
C'est un manque à gagner de la MembershipProvider. ValidateUser() renvoie un booléen, vous laissant avec de MAUVAISES options. 1) actualiser la base de données pour plus d'informations (frais généraux), 2) ajouter des méthodes et jeter votre fournisseur (rupture de l'indépendance), ou 3) un groupe témoin de fonctionnement. MS devrait mettre à jour le fournisseur. Ce serait formidable si ValidateUser retourné, au minimum, et enum AuthenticationStatuts comme CreateUser() renvoie un MembershipCreateStatus enum. Bien, je voudrais voir quelque chose d'un peu plus que même les MembershipCreateStatus enum est limité (forums.asp.net/t/1521981.aspx).

OriginalL'auteur Cosmo | 2010-03-03