h b*_*bob 19 asp.net asp.net-mvc owin asp.net-identity
官方身份2示例项目的代码如下 UserManager.Create()
public static UserManager Create(IdentityFactoryOptions<UserManager> options, IOwinContext context) {
//...etc...
// --- what does this block do? ---
var dataProtectionProvider = options.DataProtectionProvider;
if (dataProtectionProvider != null) {
manager.UserTokenProvider = new DataProtectorTokenProvider<User>(dataProtectionProvider.Create("ASP.NET Identity"));
}
// --------------------------------
//...etc...
}
Run Code Online (Sandbox Code Playgroud)
alpha/beta/RTM Identity文档很糟糕或根本不存在.
这是做什么的?
Hor*_*Net 19
以下行中的保护提供程序用作令牌提供程序/生成器.
manager.UserTokenProvider = new DataProtectorTokenProvider<User>(dataProtectionProvider.Create("ASP.NET Identity"));
Run Code Online (Sandbox Code Playgroud)
它负责生成电子邮件确认令牌或密码重置令牌.如果您未设置此行,则无法使用此功能(将抛出相应的异常).这里可以找到一个例子.
其主要目的是提供IDataProtector接口的实现(通过Create方法),该接口加密和解密数据.框架中此接口的实现是DpapiDataProtectionProvider,当应用程序不由ASP.NET托管时,应该使用该实现.Web上还有其他几种实现(例如,出于安全目的使用机器密钥的实现).class有关DataProtectorTokenProvider的更多信息,请查看MSDN文档.
UPDATE
现在提供广泛的数据保护文档.
| 归档时间: |
|
| 查看次数: |
11284 次 |
| 最近记录: |