среда, 18 марта 2015 г.

Раздача прав доступа для объекта SiteMap

Сегодня неожиданно для себя узнал, что для каждого объекта  в SiteMap можно дать отдельный доступ, независимо от его системы прав.
Изначально это применяется для разделов, которые отображают кастомные или системные HTML страницы.

 
<SubArea Id="nav_productcatalog" ResourceId="Homepage_ProductCatalog" DescriptionResourceId="ProductCatalog_SubArea_Description" Icon="/_imgs/ico_18_productcatalog.gif" Url="/tools/productcatalog/productcatalog.aspx" AvailableOffline="false">
<privilege Entity="product" Privilege="Read" />
</SubArea>



Тег <Privilege> позволяет раздавать права на объекты, и даже на другие сущности.


Пример задачи.
У вас есть сущность, которую рядовые пользователи не должны видеть в SiteMap, но могут выбирать в лукапах. При этом администраторы хотят видеть в SiteMap эту сущность.

Для решения этой задачи в SiteMap можно настроить переназначение привилегий, подменив привилегии отображения сущности на привилегии другой сущности, которая доступна только администраторам.

Можно либо создать отдельную сущность, либо использовать одну из стандартных, которая не используется в решении и к которой нет доступа рядовым пользователям, но есть доступ администраторам.
Подробнее о <Privilege> читаем в MSDN.


P.S.

Первый пост после годичного перерыва

Комментариев нет:

Отправить комментарий