看看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);
}
}
Run Code Online (Sandbox Code Playgroud)
IUserSecurityStampStore
由默认实现EntityFramework.UserStore<TUser>
,实质上获取和设置TUser.SecurityStamp
属性.
经过一些挖掘之后,似乎a SecurityStamp
是Guid
在关键点新生成的UserManager
(例如,更改密码).
因为我在Reflector中检查这段代码,所以我无法真正破译.几乎所有的符号和异步信息都已经过优化.
此外,谷歌也没有太多帮助.
SecurityStamp
ASP.NET标识,它用于什么?SecurityStamp
创建身份验证cookie时,是否扮演任何角色?源代码在这里:
我有一个启用了身份验证的Web API(承载令牌).这是由客户端应用程序调用的,我想保护它免受匿名使用,因此我想创建一个单独的用户并为其创建一个承载令牌.
我可以通过调用寄存器和令牌方法来创建令牌,但我想从代码中执行此操作.
据我所知,承载令牌不存储在数据库中.可以使用ASP.NET Identity API以某种方式检索它吗?
我还想从代码创建此用户并保存令牌,因为我需要将数据库部署到多个服务器.