asp.net core mvc изменить маршруты по умолчанию в области идентификации - PullRequest
0 голосов
/ 15 января 2019

asp.net core 2.2 Идентификация была добавлена ​​через

services.AddIdentity<ApplicationUser, ApplicationRole>()
        .AddEntityFrameworkStores<ApplicationDbContext>()
        .AddDefaultTokenProviders()
        .AddDefaultUI();  

Для входа в систему установлено значение «/ Identity / Account / Login»:

options.LoginPath = "/Identity/Account/Login";

Теперь, как мне изменить маршруты из области Identity, которая была добавлена ​​через Startup.cs, чтобы я мог сделать, например:

https://www.example.com/admin вместо https://www.example.com/identity/account/login

или

https://www.example.com/register, чтобы перейти к HomeController-> RegisterAction. Это позволило бы мне перехватить и перенаправить HomeController-> RegisterAction на HomeController-> IndexAction, чтобы отключить регистрацию .

.

1 Ответ

0 голосов
/ 15 января 2019

Если кто-то ищет ответ для asp.net core mvc 2.2:

Когда вы вызываете DefaultUI, у вас нет конкретных страниц или контроллеров для изменения.

Вам необходимо Эшафот страниц, которые вы хотите изменить.

  1. щелкните правой кнопкой мыши проект
  2. Добавить -> Новый элемент лесов (если он отключен, прекратить отладку / запуск)
  3. Слева выберите Identity и нажмите Add
  4. Выберите страницу макета (~ / Views / Shared / _Layoutcshtml), чтобы получить правильный макет
  5. выберите страницу, которую вы хотите переопределить, например, Счет \ Регистрация
  6. Выберите свой класс контекста данных (или создайте новый, нажав [+])
  7. Нажмите Добавить

Теперь вы увидите в /Areas/Identity/Pages/Account/Register.cshtml

Разверните Register.cshtml и откройте файл Register.cshtml.cs . ( 'Отделенного кода')

Теперь, если вы хотите отключить регистрацию, вы можете заменить

public void OnGet(string returnUrl = null)
{
  ReturnUrl = returnUrl;
}

с:

public IActionResult OnGet(string returnUrl = null) => RedirectToPage("/Account/Login"); // disable registrations

Дополнительная информация:

В случае, если какой-либо [MSFT] читает это : было бы здорово, если бы вы могли отключить регистрации или изменить маршруты перенаправления через Startup.cs без необходимости создавать леса (что позволило бы вам обновлять пакеты без необходимости пользовательский интерфейс, который вы когда-то строительные леса в версии х.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...