【发布时间】:2015-08-10 12:06:11
【问题描述】:
安全标记是根据用户的用户名和密码生成的随机值。
在一系列方法调用之后,我将安全标记的来源追溯到Microsoft.AspNet.Identity.EntityFramework.IdentityUser<TKey, TLogin, TRole, TClaim> 类的SecurityStamp 属性。
但是,我找不到设置此值的代码。我发现这个属性只有一个设置器,即提供核心存储的 EntityFramework 层(IUserStore<..>、IRoleStore<...> 等)。
// From Microsoft.AspNet.Identity.EntityFramework.UserStore<...>
public virtual Task SetSecurityStampAsync(TUser user, string stamp)
{
this.ThrowIfDisposed();
if (user == null)
{
throw new ArgumentNullException("user");
}
user.SecurityStamp = stamp;
return Task.FromResult<int>(0);
}
但是,我没有找到调用SetSecurityStampAsync 方法的代码。
当用户的凭据被更改或创建新用户时,这显然会被重置。
什么代码设置了这个值?
【问题讨论】:
标签: asp.net-identity asp.net-identity-3