LocationProvider

Нам нужно заменить систему меню в нашем основном приложении ASP.NET. Естественно, мы смотрим на ASP.NET SiteMapProviderи Menuэлементы управления. Однако нам также нужна достаточная безопасность, чтобы пользователи не могли напрямую вводить URL-адреса, к которым у них не должно быть доступа. Мы можем сделать это, поместив <location>записи в web.config и защитив их по отдельности, но это будет PITA для управления несколькими веб-серверами.

Есть ли что-то, Providerчто может быть использовано для обеспечения эквивалента <location>записей? Я не смог найти один, и это немного расстраивает, учитывая существование класса ConfigurationLocation .

В качестве альтернативы, есть ли параметр конфигурации, который мы пропускаем в SiteMapProvider, который будет ограничивать доступ пользователей к URL, которые они не должны?

19.08.2008 11:22:00
1 ОТВЕТ
РЕШЕНИЕ

Почему вы не создаете права и профили для управления страницами, которые может видеть пользователь? Я обычно создаю пользовательский класс, который реализует интерфейс безопасности IPrincipal. При каждом запросе к вашему приложению вы проверяете права конкретного пользователя и выводите узлы SiteMap, разрешенные для этого пользователя.

1
19.08.2008 13:44:31