Ich möchte ein Token zum Zurücksetzen des Kennworts in ASP.NET Identity 2.0 manuell überprüfen. Ich versuche, meine eigene Version von UserManager.ResetPasswordAsync(string userId, string token, string newPassword)
zu erstellen, die und IdentityUser
anstelle von userId
wie folgt verwendet:
Ich bin mir nicht sicher, ob ich das richtig mache, aber hier versuche ich, den Code zu validieren, der dem Benutzer in einem früheren Schritt per E-Mail geschickt wurde. Ich habe den Code / Token, der die E-Mail an den Benutzer sendet, nicht geändert und den Code generiert. Ich gehe davon aus, dass dies die richtige Methode ist, aber das Argument purpose
ist falsch. (Ich habe versucht, "ASP.NET Identity" zu übergeben, aber keine Würfel.)
Wenn jemand mich über die Details informieren könnte, wie es funktioniert, oder mich auf Microsofts Quellcode für UserManager.ResetPasswordAsync(IdentityUser user, string token, string newPassword)
hinweisen, wäre das sehr zu empfehlen!
Offenbar wurde der Code für Microsoft.AspNet.Identity gemäß dem Codeplex-Repository unter:
nicht nach Open Sourced sortiertGegenwärtig ist der ASP.NET Identity Framework-Code nicht öffentlich und wird daher nicht auf dieser Seite veröffentlicht. Wir planen jedoch Um dies zu ändern, und sobald wir dazu in der Lage sind, wird der Code veröffentlicht in diesem Repository.
Allerdings habe ich das gefunden, was die Quelle für den UserManager basierend auf den Debug-Symbolen sein könnte:
Ich habe auch diese Beiträge gefunden, die helfen könnten:
Implementieren Benutzerdefinierte Passwortrichtlinie mit ASP.NET Identity
Ich habe mein Problem überwunden, indem ich den Zweck auf "ResetPassword" gesetzt habe.
Unten ist ein Ausschnitt des Endergebnisses, falls jemand etwas Ähnliches machen möchte. Es ist eine Methode in meiner Klasse ApplicationUserManager
. Beachten Sie jedoch, dass einige der von Microsoft implementierten Ausnahmebehandlungen fehlen oder nicht lokalisiert sind, da auf bestimmte private Variablen, Methoden und Ressourcen, die in ihrem Code verwendet werden, nicht zugegriffen werden kann. Es ist bedauerlich, dass sie das Zeug nicht geschützt haben, so dass ich darauf hätte kommen können. Der fehlende ThrowIfDisposed
-Methoden-Aufruf ist insbesondere für mich interessant (und Basar). Offensichtlich erwarten sie Methodenaufrufe, nachdem eine Instanz entfernt wurde, um eine freundlichere Fehlermeldung zu liefern und das Unerwartete zu vermeiden.
Tags und Links asp.net-mvc asp.net-identity asp.net-identity-2