【问题标题】:Error when instantiating a RoleManager to add roles to database实例化 RoleManager 以将角色添加到数据库时出错
【发布时间】:2016-09-12 14:17:05
【问题描述】:

尝试在数据库中添加角色: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(IRoleStore, IEnumerable>, ILookupNormalizer, IdentityErrorDescriber, ILogger>, IHttpContextAccessor)' SmartNetWorker..NETCoreApp 的所需形式参数 'roleValidators' 对应的参数,版本=v1.0

显然我必须提供 roleValidators 参数...或者?我错过了什么吗?

谷歌什么也没说。

【问题讨论】:

    标签: c# asp.net-identity asp.net-core-mvc


    【解决方案1】:

    尝试解析RoleManager:

    public static void Initialize(IServiceProvider services)
    {
        using (var roleManager = services.GetRequiredService<RoleManager<IdentityRole>>())
        {
            ...
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 2015-03-04
      • 2019-09-28
      • 2020-04-27
      相关资源
      最近更新 更多