asp.net-identity - 在 asp.net core 3.1 播种中设置用户密码
问题描述
我想在ApplicationDbContext中播种用户和角色:
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<IdentityRole>().HasData(new IdentityRole
{
Id = 1, //Is this OK?
Name = "admin",
NormalizedName = "ADMIN"
});
builder.Entity<IdentityUser>().HasData(new IdentityUser
{
Id = 1,
UserName = "admin1",
Email = "a@a.com",
PasswordHash = ??,
SecurityStamp = ??
});
builder.Entity<IdentityUserRole<string>>().HasData(new IdentityUserRole<string>
{
RoleId = 1,
UserId = 1
});
}
1.用户和角色的id设置为1可以吗?
2.如何生成PasswordHash和SecurityStamp??
我试试这个,但是当我在登录页面输入用户名和密码时它不起作用
无效的登录尝试。
var passHasher = new PasswordHasher<IdentityUser>();
var p = passHasher.HashPassword(user, "123456");
3.这是使用模型构建器的正确方法还是我应该使用 UserManager 在种子中创建用户?
解决方案
推荐阅读
- azure - 在 linux 上的 azure webapp 上设置 cakephp3
- r - R用户/自定义原语?
- c++ - 如何在 C++ 中的字符数组中用 0xF 填充半字节?
- mysql - 更改表中的数据类型 -mysql
- asp.net-mvc - 在部分视图下拉列表中未触发更改事件
- xml - 多个重复字段上的 MarkLogic TDE xpath
- c++ - 如果在取消引用之前我们不能在不进行类型转换的情况下访问值,那么 c++ 中的 void 指针有什么用?
- php - 获取不正确的密码
- php - Laravel 使用 ajax 验证文件最大大小
- turing-machines - 证明一个决定是不可判定的