Pas*_*cal 7 asp.net-identity asp.net-core
我有这个 Seeder 类,它在 Configure 方法的 Startup.cs 文件的末尾被调用:
public class UserSeeder
{
private readonly ApplicationDbContext _context;
private readonly UserManager<ApplicationUser> _userManager;
public UserSeeder(ApplicationDbContext context, UserManager<ApplicationUser> userManager)
{
_context = context;
_userManager = userManager;
}
public async Task Seed()
{
if (!await _context.Users.AnyAsync())
{
var user = new ApplicationUser()
{
UserName = "admin",
Email = "admin@test.com"
};
await _userManager.CreateAsync(user, "passwort4admin");
}
}
}
Run Code Online (Sandbox Code Playgroud)
代码被执行,我什至在方法调用周围放置了一个 try/catch 但没有发生错误并且没有用户插入到数据库中!
为什么不?
小智 7
问题是密码的复杂性。添加问题将解决的大写和数字和符号
在幕后UserManager<>使用IUserStore您是否在 IOC 容器的startup.cs 中配置了此用户存储?
services.AddIdentity<ApplicationUser, ApplicationRole>()
.AddEntityFrameworkStores<MyContext, Guid>()
.AddUserStore<ApplicationUserStore>() //this one provides data storage for user.
.AddRoleStore<ApplicationRoleStore>()
.AddUserManager<ApplicationUserManager>()
.AddRoleManager<ApplicationRoleManager>()
.AddDefaultTokenProviders();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9117 次 |
| 最近记录: |