ASP.NET Identity (ASP.NET の新しいメンバーシップの実装) を見て、独自の を実装するときにこのインターフェイスに出くわしました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
EntityFramework.UserStore<TUser>
基本的にプロパティを取得および設定するデフォルトで実装されていTUser.SecurityStamp
ます。
さらに掘り下げると、は の重要なポイント(パスワードの変更など)で新しく生成された でSecurityStamp
あることがわかります。Guid
UserManager
Reflectorでこのコードを調べているため、これ以上のことを実際に解読することはできません。ほとんどすべてのシンボルと非同期情報が最適化されています。
また、Google はあまり役に立ちませんでした。
質問は次のとおりです。
SecurityStamp
ASP.NET Identityの とは何ですか? また、何に使用されますか?SecurityStamp
認証 Cookie が作成されるときに何らかの役割を果たしますか?- これに関して講じる必要があるセキュリティ上の影響や予防策はありますか? たとえば、この値をダウンストリームのクライアントに送信しませんか?
更新 (2014 年 9 月 16 日)
ここで入手可能なソースコード: