ASP.NET MVC 2 - Membership-Provider - ValidateUser() - return-login-Fehlermeldung

Wie kann ich einen string zurückzugeben, der die Nachricht von der ValidateUser-Methode in meine custom membership provider? Ich brauche diese, weil ich möchte mehrere Prüfungen (Benutzer zugelassen ist, wird der Benutzer blockiert, etc.) und geben dem Benutzer eine gute Beschreibung, wenn das login fehlschlägt.

Eine Möglichkeit wäre, eine exception zu werfen, aber jemand sagte, dass dies nicht ein richtiger Weg für die Behandlung solcher Situationen.

Jetzt kann ich nur sagen: "Login fehlgeschlagen" oder "Login war erfolgreich", weil der Rückgabetyp bool.

Ist es möglich, um meine eigene ValidateUser-Methode oder muss das ASP.NET die Mitgliedschaft Mechanismus verwendet, das standardmäßig in interne Vorgänge?

  • Es ist nicht eine gute Idee zu melden, eine Sperre auf eine web-basierte app, die jeden, der versucht, eine brute-force-Angriff wird wissen, zu stoppen und zu warten, anstatt die Durchführung und potentiell präsentiert das korrekte Passwort auf einem gesperrten Konto und somit keine Zugriff. Nur ein Gedanke für Sie.
  • Danke für den Hinweis Lazarus.
  • Dies ist ein Manko der MembershipProvider. ValidateUser() nur einen bool zurückgibt, so dass Sie mit SCHLECHTEN Optionen. 1) requery die DB weitere Informationen (overhead), 2) und Methoden hinzufügen Besetzung Ihres providers (das brechen der Unabhängigkeit), oder 3) eine out-of-band-cookie Betrieb. MS sollte die update-Anbieter. Es wäre toll, wenn ValidateUser zurückgegeben, auf ein minimum, und enum AuthenticationStatuts viel wie CreateUser() gibt einen MembershipCreateStatus-enum. Obwohl, ich würde gerne sehen, etwas ein wenig mehr als auch die MembershipCreateStatus enum ist begrenzt (forums.asp.net/t/1521981.aspx).
InformationsquelleAutor Cosmo | 2010-03-03
Schreibe einen Kommentar