我有一个包含 AspNetUsers 表的 Web API。添加用户的标准方法是调用 Register 方法,该方法会插入用户及其选择的密码,并对其进行哈希处理以供数据库存储。
我需要以编程方式从其他地方导入用户列表。这对于除密码之外的每个字段都适用。我需要对其进行哈希处理,以便 Web API UserManager 在尝试登录时可以读取它。
有谁知道 UserManager 如何对密码进行哈希处理以及这是否可能?
最佳答案
根据 MSDN,标准 Microsoft.AspNet.Identity.UserManager<TUser>
实现使用 Microsoft.AspNet.Identity.PasswordHasher
对密码进行哈希处理。
您可以使用相同的方法生成可与 AspNet Identity 框架配合使用的哈希值。
注意:如果您想知道这是否与 ApplicationUserManager
相同较新的 WebApi 使用的类,那么答案是肯定的:
public class ApplicationUserManager : UserManager<ApplicationUser>
{
}
解释了他们这样做的原因here .
关于Azure Web API 数据库用户导入和密码哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27277495/