Как автоматически загрузить вложенный макет Sitecore, чтобы соблюдались разрешения?

Я создал подмакет (usercontrol) с помощью простого html. Я хочу отображать этот подмакет, только если пользователь принадлежит к определенной роли.

Если я использую встроенный центр разработчиков sitecore для добавления вложенного макета, я получаю что-то вроде

  <sc:Sublayout runat="server"
                 RenderingID="{item guid here}" 
                 Path="/layouts/sublayouts/someusercontrol.ascx" 
                 ID="Sublayout1" placeholder="content"></sc:Sublayout>

Отказ в разрешении на чтение для используемого там подмакета не влияет (я предполагаю, что он загружается, потому что путь к файлу указан правильно?). Если я выберу Путь, я ничего не получу независимо от текущей роли пользователя.

Я не хочу вручную проверять, находится ли текущий пользователь в правильной роли из кода программной части. Какую разметку следует использовать, чтобы вложенный макет учитывал разрешения пользователя и определял видимость?


person lincolnk    schedule 06.04.2012    source источник


Ответы (1)


Я не думаю, что можно управлять видимостью подмакета на основе роли пользователя в разметке. Если вы динамически добавили этот вложенный макет в заполнитель, вы можете использовать условный рендеринг (кнопка «Персонализация» в 6.5), чтобы выполнить это, скрывая компонент, если пользователь не является членом определенной роли.

person nickwesselman    schedule 06.04.2012