Da Sie keine Kontosperrungen verwenden, können Sie hierfür das Flag IsLockedOut
verwenden. Wenn IsLockedOut
true
ist, kann sich ein Benutzer erst anmelden, wenn er gelöscht wurde. Weitere Informationen zur Verwendung dieser Eigenschaft finden Sie unter MembershipUser.IsLockedOut
.
Wenn Sie mit IsLockedOut
für dies zu vermeiden, und vorausgesetzt, Sie die SqlMembershipProvider
verwenden, wäre eine weitere Option, direkt das Verfahren zu ändern, die der Provider während des Anmeldevorgangs ruft: aspnet_Membership_GetPasswordWithFormat
.
Wenn Sie den Code für das Verfahren überprüfen, werden Sie feststellen, dass, wenn der Benutzer nicht existiert, oder gesperrt ist, es gibt ein Nicht-Null-Ergebnis:
IF (@UserId IS NULL)
RETURN 1
IF (@IsLockedOut = 1)
RETURN 99
Sie könnten die Liste halten von blockierten Benutzern in einer separaten Tabelle und überprüfen Sie es hier. Der Nachteil ist, dass diese Änderungen verloren gehen können, wenn diese Prozedur jemals neu erstellt wird oder die Site in eine neue Mitgliedschaftsdatenbank wechselt.
Zwischen diesen beiden Optionen würde ich wählen IsLockedOut
, aber ich dachte, ich würde eine weitere Option hinzufügen, falls es eine starke Präferenz gegen die Verwendung dieser Art gab.
HTH
Verwenden Sie Kontosperrungen? –
@adrift: Nein. Kann ich sie für meine Anforderung verwenden? – Lorenzo
Ja, wenn IsLockedOut wahr ist, kann sich ein Benutzer erst anmelden, wenn die Sperre aufgehoben wurde. –