Интеграция нулевого модуля 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 и нажмите "восстановить"