У меня есть маршрут
routes.MapPageRoute("clientOrder", "Contract/{contractId}/Orders",
"~/ContractOrders.aspx");
Идея состоит в том, чтобы разрешить пользователю доступ к определенному набору контрактов.
Например, user1 имеет доступ к страницам Контракт / 001 / Заказы и Контракт / 002 / Заказы
Пользователь user2 имеет доступ только к Контракту / 003 / Заказам и т. д.
Я использую проверку подлинности с помощью форм и пытаюсь ограничить доступ с помощью
CheckUrlAccessForPrincipal, но он проверяет только физический доступ к странице, не логично.
Я пытался проверить доступ в Global.asax в Application_AuthorizeRequest, но
Request.RequestContext.RouteData там всегда пусто, поэтому я не знаю запрашиваемый contractId. Я могу разобрать его вручную из объекта HttpRequest. Но это очень глупое и ненадежное решение.
Пожалуйста, совет