ASP.net-Identität SecurityStampValidator OnValidateIdentity regenerateIdentity-Parameter

9

Kann jemand erklären, warum die Klasse ApplicationUser die folgende Hilfsfunktion erstellt?

%Vor%

Der einzige Ort, den ich finden kann, ist in der Datei Startup.Auth.cs als% code_backback-Parameter für die Funktion regenerateIdentity :

%Vor%

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?

%Vor%     
Sam 09.03.2015, 16:43
quelle

1 Antwort

7

* 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.

    
Jake Garrison 27.05.2015, 21:02
quelle