Kann jemand erklären, warum die Klasse ApplicationUser
die folgende Hilfsfunktion erstellt?
Der einzige Ort, den ich finden kann, ist in der Datei Startup.Auth.cs als% code_backback-Parameter für die Funktion regenerateIdentity
:
Wie Sie vom Helfer sehen können, dreht es sich einfach um und ruft SecurityStampValidator.OnValidateEntity
auf. Gibt es einen Grund, warum sie die Klasse manager.CreatedIdentityAsync
mit der Hilfsmethode "verschmutzt" haben, anstatt ApplicationUser
wie folgt einzurichten?
* Editiert für Klarheit und Einfachheit
Durch Abstrahieren der Identity-Generation-Methode in die Benutzerklasse ist uns ein Erweiterungspunkt erlaubt.
Stellen Sie sich ein Szenario vor, in dem Ihre Anwendung mehrere verschiedene Benutzertypen hat, von denen jeder seine eigene Regenerierungslogik implementieren könnte, ohne dass separate Authentifizierungstypen benötigt werden. Verwenden Sie die Hilfsmethode in der ApplicationUser-Unterklasse der IdentityUser-Basisklasse.
%Vor%Wir können nun unsere Ansprüche in verschiedene Benutzerklassen aufteilen, ohne die OWIN-Authentifizierungspipeline zu ändern oder einen neuen CookieAuthenticationProvider für jeden Typ zu erstellen, indem wir einfach die Basis IdentityUser erstellen.
tldr;
Er überträgt die Verantwortlichkeiten für die Identitätsregenerierung auf die Benutzerklasse, die neu generiert wird. Ähnlich einem Fabrikmethodenmuster.
Tags und Links asp.net-mvc c# asp.net owin asp.net-identity