c# - 如何在 ASP.NET Identity 中使用 OnModelCreating 添加管理员用户?
问题描述
如何OnModelCreating
在 ASP.NET Identity 中添加管理员用户?
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<IdentityUser>
(
user.UserName = "admin";
user.Email = "admin@gmail.com";
string userPassword = "Admin123#";
).ToTable("AspNetUsers");
}
解决方案
尝试这个 :
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// any unique string id
const string ADMIN_ID = "a18be9c0-aa65-4af8-bd17-00bd9344e575";
const string ROLE_ID = "ad376a8f-9eab-4bb9-9fca-30b01540f445";
builder.Entity<IdentityRole>().HasData(new IdentityRole
{
Id = ROLE_ID,
Name = "admin",
NormalizedName = "admin"
});
var hasher = new PasswordHasher<IdentityUser>();
builder.Entity<IdentityUser>().HasData(new IdentityUser
{
Id = ADMIN_ID,
UserName = "admin",
NormalizedUserName = "admin",
Email = "admin@gmail.com",
NormalizedEmail = "admin@gmail.com",
EmailConfirmed = false,
PasswordHash = hasher.HashPassword(null, "Admin123#"),
SecurityStamp = string.Empty
});
builder.Entity<IdentityUserRole<string>>().HasData(new IdentityUserRole<string>
{
RoleId = ROLE_ID,
UserId = ADMIN_ID
});
}
参考 :
https://inneka.com/programming/c/how-to-seed-an-admin-user-in-ef-core-2-1-0/
推荐阅读
- r - 在 Google 地图上显示物业的位置
- gcc - Homebrew 链接失败,机器上已有不兼容的 i386 文件
- python - VPS 上的 python-selenium 脚本下载 pdf 文件
- python - 网络浏览器在键盘命令完成之前打开。我想等到键盘命令完成后再打开浏览器
- html - 在没有 *Ngfor 的情况下显示数据
- javascript - 寻找一种将粘贴按钮放在 textarea 占位符中的方法?(javascript)
- python - 将数据框导出到工作簿中的现有 Excel 工作表会破坏其他工作表中的数据透视切片器连接
- javascript - 如何在 JavaScript 中读取上传的文件
- python - 写入 /var/www/ 文件夹的权限被拒绝
- google-play - 取消 App 和 Play 商店的订阅