Sitecore позволяет роли публиковать контент только в определенных областях

Я пытаюсь создать роль в Sitecore, которая может публиковать контент, но только в определенных областях сайта. Я добавил к своей роли стандартную роль Sitecore\Client Publishing, но не вижу, как запретить этой роли публиковать все разделы сайта. Я просмотрел редактор безопасности и средство просмотра доступа, но установка доступа для записи разделов, по-видимому, влияет только на возможность редактирования этих разделов и не влияет на возможность публикации в этих разделах.


person Matthew Dresser    schedule 03.06.2011    source источник
comment
У вас есть рабочий процесс?   -  person Mark Ursino    schedule 03.06.2011
comment
Да. Все, что я хочу сделать, это ограничить доступ к этапам утверждения/публикации для определенных пользователей.   -  person Matthew Dresser    schedule 10.06.2011


Ответы (3)


Однажды у меня была аналогичная ситуация, и я создал роли для каждого раздела, которые читали и писали только в этот раздел и больше нигде (скажем, «редактор раздела 1»), и еще одну роль, которая имела разрешение на публикацию только для этого раздела (скажем, «издатель секция 1'). Затем добавлена ​​роль «раздел редактора 1» к роли «раздел издателя 1», которая дает вам роль для публикации только определенного раздела. Вам не нужно несколько рабочих процессов, один и тот же рабочий процесс с несколькими ролями также может достичь этой цели.

person Naveed Ahmad    schedule 15.06.2011
comment
Когда вы говорите и другая роль, у которой было разрешение на публикацию только для этого раздела (скажем, «раздел издателя 1»). Как ты это сделал? Разрешения в sitecore, по-видимому, не позволяют определить разрешения на публикацию для каждого элемента. - person Scott; 20.01.2015
comment
Вероятно, поздно, но я имел в виду роль для опубликованного состояния рабочего процесса. Посмотрите здесь doc.sitecore.net/sitecore_experience_platform/content_authoring/ - person Naveed Ahmad; 31.10.2016
comment
Не могли бы вы пояснить, Навид? Я понимаю, что вы можете предоставить выполнение команды рабочего процесса командам и предоставить выполнение записи рабочего процесса для состояний. Как именно вы планируете реализовать это, учитывая базовый пример рабочего процесса - person Andy Cohen; 27.03.2017

Рабочий процесс является типичным способом, которым это обрабатывается. Предоставление ролям доступа для утверждения (это можно назвать «публикацией») содержимого определенных разделов дерева содержимого будет лучшим способом достижения того, что вы описываете. Объедините это с действием автоматической публикации, чтобы сделать его более удобным для пользователя.

Одна вещь, о которой следует помнить, используя этот метод, — это элементы, на которые есть ссылки (например, изображения из медиатеки, которые может использовать контент). Взгляните на модуль Publishing Spider в общей исходной библиотеке http://trac.sitecore.net/PublishingSpider.

РЕДАКТИРОВАТЬ: обновить

Недавно я обнаружил этот параметр в web.config: «Publishing.CheckSecurity». Если установлено значение true, этот параметр будет публиковать элементы только в том случае, если пользователь прочитал и записал элемент, и будет удалять элементы из веб-базы данных только в том случае, если у пользователя есть разрешения на удаление.

person dmgdotnet    schedule 05.06.2011
comment
Хороший ответ, создание рабочих процессов для разных аспектов сайта поможет. - person Younes; 08.06.2011
comment
Спасибо за Ваш ответ! Нужно ли мне создавать отдельные рабочие процессы, чтобы обеспечить различный доступ к утверждению в разных областях моего сайта, или я могу повторно использовать один и тот же рабочий процесс повсюду? - person Matthew Dresser; 13.06.2011
comment
Вы можете использовать один и тот же рабочий процесс везде, если хотите, и ограничить разрешения той частью дерева, которую вы не хотите, чтобы они видели. Чтобы увидеть элемент в рабочей области, вам необходимы разрешения на чтение и запись для самого элемента содержимого. - person dmgdotnet; 14.06.2011
comment
Ваш Edit:Update связан с модулем PublishingSpider? Я попытался просто изменить файл web.config, и он не работает. Вы добавили пользователю роль Sitecore Client Publishing? - person sigmapi13; 02.08.2013
comment
Параметр, упомянутый в обновлении, является автономным параметром для базовой CMS. Любые настройки модуля будут находиться во включаемом файле (по крайней мере, модуль написан хорошо), который находится в каталоге «App_Config/Include». Пользователь должен быть частью роли публикации клиента Sitecore или наследовать ее, чтобы иметь доступ к командам публикации и приложениям. В качестве альтернативы вы можете настроить свою собственную роль клиентского доступа, переключившись на основную базу данных и предоставив разрешения соответствующим приложениям в пользовательской роли. - person dmgdotnet; 05.08.2013
comment
Спасибо за это! К сведению всех, кто читает, кнопки публикации по-прежнему отображаются, и пользователь может выполнять этапы публикации, но страницы на самом деле не публикуются. - person sigmapi13; 06.08.2013

Ответ на этот вопрос — установить для параметра Publishing.CheckSecurity значение true.

Вам нужно найти этот код внутри сети

<!--  PUBLISHING SECURITY
        Check security rights when publishing?
        When CheckSecurity=true, Read rights are required for all source items. When it is
        determined that an item should be updated or created in the target database,
        Write right is required on the source item. If it is determined that the item
        should be deleted from target database, Delete right is required on the target item.
        In summary, only the Read, Write and Delete rights are used. All other rights are ignored.
        Default value: false
  -->
        <setting name="Publishing.CheckSecurity" value="false" />

Установите value="true"

Но опять же, вы должны жестко управлять безопасностью и правильно назначать роль пользователя. Не удалось сделать так что вы столкнетесь с ошибками публикации.

Надеюсь, это поможет

person user2963220    schedule 07.11.2013