gpt4 book ai didi

asp.net - Identity 示例项目中的 DataProtectionProvider

转载 作者:行者123 更新时间:2023-12-03 12:51:25 26 4
gpt4 key购买 nike

官方 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...

}

alpha/beta/RTM Identity 文档不正确或不存在。

这是做什么的?

最佳答案

以下行中的保护提供程序用作 token 提供程序/生成器。

manager.UserTokenProvider = new DataProtectorTokenProvider<User>(dataProtectionProvider.Create("ASP.NET Identity"));

它负责生成电子邮件确认 token 或密码重置 token 。如果您不设置此行,您将无法使用此功能(将引发适当的异常)。可以找到一个示例 here .

其主要目的是提供 IDataProtector 的实现。加密和解密数据的接口(interface)(通过 Create 方法)。框架中此接口(interface)的实现是 DpapiDataProtectionProvider 当应用程序不是由 ASP.NET 托管时,应该使用它。 Web 上还有其他几种实现(例如,出于安全目的使用机器 key 的一种)。类有关 DataProtectorTokenProvider 的更多信息,请查看 MSDN documentation .

更新

广泛 Data Protection documentation现在可用。

关于asp.net - Identity 示例项目中的 DataProtectionProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25685252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com