Melihat ASP.NET Identity (implementasi keanggotaan baru di ASP.NET), saya menemukan antarmuka ini ketika menerapkan sendiri 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
diimplementasikan secara default EntityFramework.UserStore<TUser>
yang pada dasarnya mendapatkan dan mengatur TUser.SecurityStamp
properti.
Setelah beberapa penggalian lagi, tampak bahwa a SecurityStamp
adalah Guid
yang baru dibuat pada titik-titik kunci dalam UserManager
(misalnya, mengubah kata sandi).
Saya tidak bisa menguraikan lebih jauh dari ini karena saya sedang memeriksa kode ini di Reflector . Hampir semua simbol dan informasi async telah dioptimalkan.
Juga, Google tidak banyak membantu.
Pertanyaan adalah:
- Apa itu
SecurityStamp
ASP.NET Identity dan apa gunanya? - Apakah
SecurityStamp
peran apa pun saat cookie otentikasi dibuat? - Apakah ada konsekuensi keamanan atau tindakan pencegahan yang perlu diambil dengan ini? Misalnya, jangan mengirim nilai ini ke hilir ke klien?
Pembaruan (9/16/2014)
Kode sumber tersedia di sini: