Изменение страницы входа / выхода в .NET Core 2.2 с использованием идентификатора - PullRequest
0 голосов
/ 18 февраля 2019

Я делал это по-разному в каждой версии ядра .net, однако теперь в 2.2 я не могу заставить свой код перенаправить правильно.

Вот что я использую в startup.cs согласно документации :

(это новый и чистый проект по умолчанию)

services.AddMvc()
    .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
    .AddRazorPagesOptions(options =>
    {
      options.AllowAreas = true;
      options.Conventions.AuthorizeAreaFolder("Identity", "/Account/Manage");
      options.Conventions.AuthorizeAreaPage("Identity", "/Account/Logout");
    });

services.ConfigureApplicationCookie(options =>
  {
    options.LoginPath = $"/Identity/Account/Login";
    options.LogoutPath = $"/Identity/Account/Logout";
    options.AccessDeniedPath = $"/Identity/Account/AccessDenied";
  });

Изменение пути входа или выхода из системы в настоящее время ничего не делает,Любые предложения здесь о том, что я могу пропустить?

1 Ответ

0 голосов
/ 18 февраля 2019

Хорошо!Проблема идентифицирована.Если вы используете .AddDefaultUI() с регистрацией службы идентификации, тогда переопределение по умолчанию options.LoginPath не будет работать.Таким образом, чтобы использовать пользовательский путь входа в систему для неавторизованного перенаправления пользователя, закомментируйте .AddDefaultUI() следующим образом:

services.AddIdentity<ApplicationUser, IdentityRole>()
                //.AddDefaultUI(UIFramework.Bootstrap4) <-- you have to comment out this
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

Теперь это должно работать.Вот это Github Issue

...