Kann jemand erklären, warum die Klasse ApplicationUser
die folgende Hilfsfunktion erstellt?ASP.NET-Identität SecurityStampValidator OnValidateIdentity regenerateIdentity-Parameter
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<User, int> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
Der einzige Ort, wo ich es verwendet wird, finden Sie in den Startup.Auth.cs Datei als regenerateIdentity
Callback-Parameter für die SecurityStampValidator.OnValidateEntity
Funktion:
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, User, int>(
validateInterval: TimeSpan.FromSeconds(15),
regenerateIdentityCallback: (manager, user) => user.GenerateUserIdentityAsync(manager),
getUserIdCallback: (id) => id.GetUserId<int>())
Wie Sie sehen können, Der Helfer dreht sich gerade um und ruft manager.CreatedIdentityAsync
an. Gibt es einen Grund, warum sie die Klasse ApplicationUser
mit der Hilfsmethode "verschmutzt" anstatt OnValidateEntity
wie folgt einzurichten?
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, User, int>(
validateInterval: TimeSpan.FromSeconds(15),
regenerateIdentityCallback: (manager, user) => manager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie),
getUserIdCallback: (id) => id.GetUserId<int>())