Guardando ASP.NET Identity (nuova implementazione dell'appartenenza in ASP.NET), mi sono imbattuto in questa interfaccia durante l'implementazione della mia UserStore
:
//Microsoft.AspNet.Identity.Core.dll
namespace Microsoft.AspNet.Identity
{
public interface IUserSecurityStampStore<TUser> :
{
// Methods
Task<string> GetSecurityStampAsync(TUser user);
Task SetSecurityStampAsync(TUser user, string stamp);
}
}
IUserSecurityStampStore
è implementato per impostazione predefinita EntityFramework.UserStore<TUser>
che essenzialmente ottiene e imposta la TUser.SecurityStamp
proprietà.
Dopo qualche altro scavo, sembra che a SecurityStamp
sia un Guid
che è appena generato nei punti chiave del UserManager
(ad esempio, cambiando le password).
Non riesco davvero a decifrare molto oltre questo dato che sto esaminando questo codice in Reflector . Quasi tutte le informazioni su simboli e asincrono sono state ottimizzate.
Inoltre, Google non è stato di grande aiuto.
Le domande sono:
- Che cos'è
SecurityStamp
un'identità ASP.NET ea cosa serve? - Fa il
SecurityStamp
un ruolo quando vengono creati i cookie di autenticazione? - Ci sono implicazioni o precauzioni di sicurezza che devono essere prese con questo? Ad esempio, non inviare questo valore a valle ai client?
Aggiornamento (16/09/2014)
Codice sorgente disponibile qui: