新的.Net Core 2.1 Identity非常令人困惑。
这是我的代码:
启动.CS
services.AddIdentity<User, IdentityRole>(options => options.Stores.MaxLengthForKeys = 128)
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultUI()
.AddDefaultTokenProviders();
数据库上下文
public class ApplicationDbContext : IdentityDbContext<User>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
但是我得到了这个错误:
无效操作异常: 没有类型的服务 'Microsoft.AspNetCore.Identity.UserManager'1[Microsoft.AspNetCore.Identity.IdentityUser]' 已注册。
我做错了什么?
User
已向标识框架注册为扩展用户标识模型。
但是,异常消息暗示项目中的某个地方有一个依赖于UserManager<IdentityUser>
的类,这将是模板中的默认值。
由于默认值已扩展,因此在有对默认UserManager<IdentityUser>
引用的地方需要更新为UserManager<User>