【问题标题】:Integrating ASP.NET Boilerplate Module zero with IdentityServer4将 ASP.NET 样板模块零与 IdentityServer4 集成
【发布时间】:2017-01-11 08:25:39
【问题描述】:

我正在尝试将 IdentityServer4 与 ASP.NET 样板模块零一起使用,但我遇到了一些错误

我正在尝试关注此链接 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]]' 未注册。

【问题讨论】:

    标签: c# .net asp.net-core-1.0 identityserver4 asp.net-boilerplate


    【解决方案1】:

    我从 Halil İbrahim Kalkan 那里得到了答案

    他说模块零模板使用 EF 6.x,而不是 EF Core。此外,Abp.Zero 包基于 Identity 2.x,而不是 Identity Core。所以,它们不兼容。

    参考: https://github.com/aspnetboilerplate/aspnetboilerplate/issues/961

    【讨论】:

    • 在此期间已经取得了一些进展,因为集成的 Identity Server 4 实例可以工作。但也可以支持外部独立实例(服务器)。
    【解决方案2】:

    尝试安装 https://www.nuget.org/packages/Microsoft.AspNetCore.Identity/ 在 nuget 管理器中。

    如果没有帮助,关闭解决方案,找到解决方案文件夹,包文件夹,删除所有,再次打开你的解决方案,进入nuget包管理器并点击“恢复”

    【讨论】:

      猜你喜欢
      • 2019-07-19
      • 2017-04-28
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 2016-11-18
      • 1970-01-01
      • 2013-04-04
      相关资源
      最近更新 更多