В настоящее время я экспериментирую с многодоменным приложением, чтобы добавить несколько бритвенных страниц, имеющих опыт администратора / входа в систему.
В настоящее время конструкция будет выглядеть следующим образом:
- Площадь:
- Администратор
- Счет
и администратор, и учетная запись теперь должны быть доступны только в том случае, если домен соответствует https://admin.*
, маршрут администратора также должен быть основным маршрутом, поэтому «область» /Admin
будет / должна быть удалена.
Вторая часть относительно проста с Page Route Conventions:
private void Admin(PageRouteModel model)
{
var selectorCount = model.Selectors.Count;
var overrideSelectors = new List<SelectorModel>();
for (var i = 0; i < selectorCount; i++)
{
var selector = model.Selectors[i];
Console.WriteLine($"Selector: {selector.AttributeRouteModel.Template}");
var template = selector.AttributeRouteModel.Template.Replace("Admin", "").TrimStart('/');
overrideSelectors.Add(new SelectorModel
{
AttributeRouteModel = new AttributeRouteModel
{
Order = 1,
Template = template,
}
});
}
model.Selectors.Clear();
((List<SelectorModel>)model.Selectors).AddRange(overrideSelectors);
}
На самом деле я нашел следующую ссылку: .net маршрутизация ядра в область страниц бритвы на основе текущего имени домена?
однако я не уверен, так ли это, так как мне понадобится промежуточное программное обеспечение, и я также не уверен, будут ли ссылки на бритвенные страницы работать правильно при использовании asp-area, asp-page, и т.д ...
Есть ли лучшая практика или другой способ сделать это?