查看 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
属性。
经过一番挖掘,似乎 aSecurityStamp
是Guid
在关键点UserManager
(例如更改密码)处新生成的 a。
因为我正在Reflector中检查这段代码,所以我无法真正破译更多内容。几乎所有的符号和异步信息都被优化了。
此外,谷歌并没有提供太多帮助。
问题是:
SecurityStamp
ASP.NET 标识中的 a 是什么,它的用途是什么?- 创建身份验证cookie时是否起
SecurityStamp
任何作用? - 是否需要对此采取任何安全后果或预防措施?例如,不要将此值向下游发送给客户端?
更新(2014 年 9 月 16 日)
此处提供源代码: