Quindi da What is ASP.NET Identity's IUserSecurityStampStore<TUser> interface? apprendiamo che l'identità di ASP.NET ha una funzione di timbro di sicurezza che viene utilizzata per invalidare un cookie di accesso degli utenti e obbligarli a riconnettersi.Identità ASP.NET - Forzatura di un nuovo accesso con il timbro di sicurezza
Nella mia app MVC, è possibile per gli amministratori archiviare gli utenti. Quando sono in arcione, devono immediatamente essere disconnessi e forzati ad accedere nuovamente (che quindi li rifiuterà dal momento dell'archiviazione).
Come posso fare questo? Capisco che il timbro di sicurezza è la chiave. La configurazione di default si presenta così:
app.UseCookieAuthentication(new CookieAuthenticationOptions {
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider {
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
attraverso la sperimentazione, se ho impostato il validateInterval a qualcosa come 1 minuto, e poi manaully incidere un francobollo di sicurezza degli utenti nel database, quindi sono costretti a ri-login ma solo trascorso questo periodo di tempo.
C'è un modo per rendere questo istante, o è solo una questione di impostare l'intervallo per un periodo di tempo basso e di attesa (o implementando la mia OnValidateIdentity
che controlla a ogni richiesta)
Grazie