【发布时间】:2020-02-25 21:47:39
【问题描述】:
我已设法为管理员的详细信息(例如用户名和密码)播种,因此它们出现在表格中。但是,我遇到的问题是角色“管理员”没有保存在表中的任何位置。我在这里错过了什么吗?我是 asp.net core 的新手,所以我只是想绕开它。
下面是我的播种课:
public class ApplicationDbInitializer
{
public static void SeedUsers(UserManager<IdentityUser> userManager)
{
if (userManager.FindByEmailAsync("abc@outlook.com").Result == null)
{
IdentityUser user = new IdentityUser
{
UserName = "abc@outlook.com",
Email = "abc@outlook.com"
};
IdentityResult result = userManager.CreateAsync(user, "Passwordtest123!").Result;
if (result.Succeeded)
{
userManager.AddToRoleAsync(user, "Admin").Wait();
}
}
}
}
下面是我的配置方法签名:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, UserManager<IdentityUser> userManager)
下面是我调用我的种子方法:
ApplicationDbInitializer.SeedUsers(userManager);
下面是我添加的身份:
services.AddIdentity<IdentityUser, IdentityRole>()
.AddEntityFrameworkStores<RestaurantWebContext>();
代码中是否缺少某些内容,我在角色表或用户表中看不到管理员。
【问题讨论】:
标签: c# entity-framework asp.net-core