You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OnModelCreating创建IdentityUser时,如何传入加密密码实现登录?

在OnModelCreating中创建IdentityUser时设置加密密码的方法

你当前用HasData初始化IdentityUser的代码缺少加密后的密码字段,Identity要求密码必须以哈希形式存储,不能直接用明文。要解决这个问题,你需要使用PasswordHasher<IdentityUser>生成密码哈希,再赋值给用户的PasswordHash属性。

修改后的代码示例:

// 初始化密码哈希器
var passwordHasher = new PasswordHasher<IdentityUser>();
// 生成密码哈希(这里以"Admin123!"为例)
var hashedPassword = passwordHasher.HashPassword(null, "Admin123!");

builder.Entity<IdentityUser>().HasData(new IdentityUser 
{ 
    Id= "0CD0E173758F4492B41EDD4A51D36BA5", 
    UserName = "admin@admin.com", 
    Email = "admin@admin.com",
    EmailConfirmed = true,
    PasswordHash = hashedPassword // 添加加密后的密码
});

说明:

  • PasswordHasher是Identity框架自带的密码哈希工具,会自动使用配置的哈希算法(默认是PBKDF2)生成安全的密码哈希。
  • 替换示例中的"Admin123!"为你实际要设置的密码即可,登录时使用该明文密码就能通过验证。

内容的提问来源于stack exchange,提问作者Douglas Badaró

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 06:06:45