Интеграция нулевого модуля ASP.NET Boilerplate с IdentityServer4

Я пытаюсь использовать IdentityServer4 с нулевым модулем ASP.NET Boilerplate, но я получаю некоторые ошибки

Я пытаюсь перейти по этой ссылке http://docs.identityserver.io/en/release/quickstarts/6_aspnet_identity.html

Моя функция ConfigureServices

public IServiceProvider ConfigureServices(IServiceCollection services)
    {
        var connectionString = @"Server=localhost\SQLEXPRESS; Database=MyDb;User Id=sa; password=sa;";

        // configure identity server with in-memory users, but EF stores for clients and resources
        var migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;
        services.AddIdentityServer()
           .AddTemporarySigningCredential()
           .AddConfigurationStore(builder =>
               builder.UseSqlServer(connectionString, options =>
                   options.MigrationsAssembly(migrationsAssembly)))
           .AddOperationalStore(builder =>
               builder.UseSqlServer(connectionString, options =>
                   options.MigrationsAssembly(migrationsAssembly)))
                   .AddAspNetIdentity<User>();

        //MVC
        services.AddMvc(options =>
        {
            options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
        });

        services.AddIdentity<User, Role>();


        //Configure Abp and Dependency Injection
        return services.AddAbp<EventoTixWebModule>(options =>
        {
            //Configure Log4Net logging
            options.IocManager.IocContainer.AddFacility<LoggingFacility>(
                f => f.UseAbpLog4Net().WithConfig("log4net.config")
            );
        });

    }

Моя функция настройки

public void Configure(IApplicationBuilder app, IHostingEnvironment env,         ILoggerFactory loggerFactory)
    {
        // this will do the initial DB population
        InitializeDatabase(app);

        //loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        //loggerFactory.AddDebug();
        app.UseAbp(); //Initializes ABP framework.

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            //app.UseDatabaseErrorPage();
            app.UseBrowserLink();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();

        //Integrate to OWIN
        app.UseAppBuilder(ConfigureOwinServices);

        //app.UseIdentity();
        app.UseIdentityServer();


        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
    }

и после запуска приложения я получаю эту ошибку

"Microsoft.AspNetCore.Identity.UserManager1[[EventoTix.Users.User, EventoTix.Core, версия =1.0.0.0, культура = нейтральный, PublicKeyToken=null]]_b66a8aa6-a49b-47c6-a3b3-d6e943ee4c47'ожидает следующего зависимости: - Служба 'Microsoft.AspNetCore.Identity.IUserStore1[[EventoTix.Users.User, EventoTix.Core, Версия =1.0.0.0, Культура = нейтральная, PublicKeyToken=null]]', которая не была зарегистрирована.

2 ответа

Решение

Я получил ответ от Халила Ибрагима Калкана

Он говорит, что нулевой шаблон модуля использует EF 6.x, а не EF Core. Кроме того, пакет Abp.Zero основан на Identity 2.x, а не на Identity Core. Таким образом, они не совместимы.

Ссылка: https://github.com/aspnetboilerplate/aspnetboilerplate/issues/961

Попробуйте установить https://www.nuget.org/packages/Microsoft.AspNetCore.Identity/ в диспетчере Nuget.

Если не помогло, закройте решение, найдите папку решения, папку пакета, удалите все, откройте решение снова, перейдите в менеджер пакетов nuget и нажмите "восстановить"

Другие вопросы по тегам