【发布时间】:2018-11-16 13:32:43
【问题描述】:
新的 .Net Core 2.1 Identity 非常混乱。
这是我的代码:
STARTUP.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)
{
}
}
但是我收到了这个错误:
InvalidOperationException:没有服务类型 'Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]' 已注册。
我做错了什么?
【问题讨论】:
-
您在 Identity Framework 中注册了
User,但在您的项目中某处有一个依赖于UserManager<IdentityUser>的类 -
@Nkosi 所以我应该更改这个用户:IdentityUser 或 IdentityDbContext?
-
没有。找出您拥有
UserManager<IdentityUser>的位置并将其更新为UserManager<User>。
标签: c# asp.net-core dependency-injection asp.net-identity