Я ищу способ легко обернуть безопасность вокруг местоположения, в то же время используя это, чтобы показать / скрыть ссылки в моем меню.
Я знаю, как заблокировать местоположение для неавторизованных пользователей, например:
<location path="AdminDirectory">
<system.web>
<authorization>
<allow roles="SomeRole"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
И я могу показать / скрыть ссылки с кодом, например:
myLink.Visible = User.IsInRole("SomeRole");
Но то, что я ищу, - это способ сделать так, чтобы имя роли SomeRole было настроено только один раз. Если бы я мог прочитать из элемента location
и проверить его в коде, это было бы идеально, но я не вижу способа сделать это.
// Something like:
myLink.Visible = TestLocationAccess("AdminDirectory");
Я могу придумать действительно дурацкий способ сделать это с помощью вызова javascript / AJAX, чтобы «проверить» каталог от клиента и показать / скрыть ссылку с помощью javascript, но, очевидно, это не идеально.
Спасибо