Проблемы с маршрутизацией страниц идентификации по умолчанию в ASP.NET Core с приложением Razor - PullRequest
1 голос
/ 25 сентября 2019

У меня проблемы с входом в приложение ASP.NET Core 3.0.

По сути, я хочу, чтобы страница входа была на

mywebsite.com/login

вместо

mywebsite.com/SomerandomRoute/SomeMore/WhyNot/MakeTheUrl/EvenLonger/Identity/Cookies/DefaultIdentity/Pages/Sections/Defaults/Identity/LoginRouteController

как по умолчанию.Поэтому я добавил @page "/login" в файл идентификационного имени для входа .cshtml, и он работает при нажатии кнопки «войти» в верхней панели навигации.

Дело в том, что только с этим перенаправление с защищенных страниц не работает,Например, если я не вошел в систему и не зашел на URL настроек учетной записи, меня перенаправили на длинную мерзость URL вместо /login.И этот маршрут сейчас не существует.

В моем приложении 2.2 я мог бы просто

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        options.LoginPath = "/login";
    });

, и он бы работал, но в этом приложении 3.0 он полностью прерывает вход в систему.Отправка формы входа просто перенаправляет в индекс, и пользователь не вошел в систему.

Я пытался найти разрыв между изменениями между 2.2 и 3.0, но, похоже, ничего не говорит о моей конкретной проблеме.

1 Ответ

0 голосов
/ 25 сентября 2019

Решено!

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        options.LoginPath = "/login";
        options.AccessDeniedPath = "/login";
    });

- это то, что нужно.

...