Похоже, это пока невозможно.Глядя на исходный код, становится ясно, что имя зоны жестко закодировано в IdentityDefaultUIConfigureOptions<TUser>
:
private const string IdentityUIDefaultAreaName = "Identity";
Это используется в нескольких местах, в том числе при настройке RazorСтраницы .Например:
options.Conventions.AuthorizeAreaFolder(IdentityUIDefaultAreaName, "/Account/Manage");
А также при настройке аутентификации Cookies .Например:
options.LoginPath = $"/{IdentityUIDefaultAreaName}/Account/Login";
Стоит отметить, что сама IdentityDefaultUIConfigureOptions<TUser>
защищена, поэтому возможность переопределения параметров не существует.
Я открыл Githubвведите , чтобы узнать, можем ли мы получить отзывы от тех, кто участвует в самом проекте.
2018-06-12 Обновление
Хавьер Кальварро Нельсон изкоманда ASP.NET Core Identity предоставила несколько ценных отзывов по поднятой мной проблеме Github , которую можно обобщить следующим образом:
Основная причина появления пользовательского интерфейса Identityзадача состоит в том, чтобы минимизировать влияние на ваше приложение и обеспечить четкое разделение между кодом приложения и кодом Identity.
Хавьер рекомендует один из следующих вариантов при настройке URL-адресов:
- Используйте элемент scaffolding пользовательского интерфейса по умолчанию и выполните все необходимые настройки самостоятельно.
- Используйте правило перенаправления, которое указывает старые маршруты на новые маршруты.
- Don 'т использоватьUI по умолчанию вообще.
Хотя не поддерживается и не рекомендуется , Хавьер также отмечает, что возможно использовать пользовательский IPageApplicationModelConvention
для переопределения URL.Однако, если вы пропустили это, не поддерживается и не рекомендуется .
2018-06-27 Обновление
The официальная документация была обновлена, чтобы лучше объяснить изменения URL.