reset Benutzer sperren durch senden eines reset-Konto verknüpfen, asp-net-Identität 2.1
Habe ich eine ASP-MVC-Projekt, in dem ich senden möchten, entsperren Konto sperren-link, um die Benutzer-E-Mail, nachdem der Benutzer bekommt Aussperrung.Ich benutze asp-net-Identität 2.1 in meinem Projekt. Was ich vielleicht tun könnte ist, sperren Sie das Konto für einen Zeitraum von 30 Minuten mit asp-Identität. Nach dieser Zeit wird das Konto automatisch wieder entsperrt. Ich versuchte, senden von E-Mails an die Benutzer enthält einen link zum zurücksetzen. Der link ruft eine Methode auf, die den folgenden code.
[AllowAnonymous]
public async Task<ActionResult> UnlockAccount(string userId)
{
await UserManager.ResetAccessFailedCountAsync(userId);
return RedirectToAction("Login");
}
Aber danach noch mein account gesperrt wird für den Zeitraum von 30 Minuten, die ich setup in IdentityConfig.cs. Ist das möglich in asp-net-Identität.
- Was bedeutet
.ResetAccessFailedCountAsync()
zu tun?. - Es setzt die keine versuche, die Links für die Benutzer anmelden, bevor lockout
- Aber es kann nicht entsperrt werden ein Konto, so dass, wenn ein Konto bereits gesperrt ist, auch eine Unmenge versuche, die linke würde nicht entsperren
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, das ist alt, aber es ist eine Antwort Wert, wie ich einfach nur Fragen, die gleiche mich...
Den
AccessFailedCount
egal - das einzige, was Sie sperren den Benutzer aus derLockoutEndDateUtc
. Wenn die aktuelle UTC-datetime ist, bevor dieLockoutEndDateUtc
dann werden Sie nicht in der Lage sein, um Zutritt zu erlangen.Es ist einfach genug, um zurückgesetzt, wenn:
Können Sie die
DateTimeOffset
um alles, was Sie wollen, solange es vor der aktuellen DateTimeUTC, in meinem Beispiel verwende ichDateTime.UtcNow
wie es gibt den zusätzlichen Vorteil, zu wissen, Wann das Konto wurde entsperrt.Wenn der Benutzer schließlich wieder anmeldet die
AccessFailedCount
wird auf 0 zurückgesetzt, so dass Sie nicht brauchen, um sorgen über zurücksetzen, dass.