尝试在此之后向数据库添加角色:Creating Roles in Asp.net Identity MVC 5
和/或这个: Add role in ASP.NET Identity
我不想要基于声明的授权,只需要角色,所以我想使用Microsoft.AspNetCore.Identity.RoleManager
创建一个角色。
以下代码:
public static class InitializeDb
{
public static void Initialize(IServiceProvider services)
{
using (var context = new ApplicationDbContext(services.GetRequiredService<DbContextOptions<ApplicationDbContext>>()))
{
using (var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)))
{
...
}
}
}
}
产生以下错误:
没有任何参数对应于&RoleManager.RoleManager所需的形式参数&roleValidators&#39; (IRoleStore,IEnumerable&gt;,ILookupNormalizer,IdentityErrorDescriber,ILogger&gt; ,IHttpContextAccessor)&#39; SmartNetWorker..NETCoreApp,Version = v1.0
显然我必须提供 roleValidators 参数...或?我错过了什么吗?
谷歌没有说什么。答案 0 :(得分:2)
尝试解决RoleManager
:
public static void Initialize(IServiceProvider services)
{
using (var roleManager = services.GetRequiredService<RoleManager<IdentityRole>>())
{
...
}
}