En regardant ASP.NET Identity (nouvelle implémentation d'appartenance dans ASP.NET), je suis tombé sur cette interface lors de l'implémentation de la mienne 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
est implémenté par défaut EntityFramework.UserStore<TUser>
qui obtient et définit essentiellement la TUser.SecurityStamp
propriété.
Après quelques recherches supplémentaires, il semble que a SecurityStamp
est un Guid
nouvellement généré à des points clés dans le UserManager
(par exemple, la modification des mots de passe).
Je ne peux pas vraiment déchiffrer beaucoup plus que cela puisque j'examine ce code dans Reflector . Presque tous les symboles et informations asynchrones ont été optimisés.
De plus, Google n'a pas été d'une grande aide.
Les questions sont:
- Qu'est-ce qu'une
SecurityStamp
identité ASP.NET et à quoi sert-elle? - Le
SecurityStamp
joue- t-il un rôle lors de la création de cookies d'authentification? - Y a-t-il des ramifications de sécurité ou des précautions à prendre avec cela? Par exemple, n'envoyez pas cette valeur en aval aux clients?
Mise à jour (16/09/2014)
Code source disponible ici: