Sitecore Workflow Security

У меня есть сценарий, в котором я хочу, чтобы роль могла выполнять элемент команд рабочего процесса (утверждать / отклонять), который находится в "состоянии проверки", но они не должны иметь возможность редактировать элемент в этом состоянии.

Я пытался сделать следующее: для "обзора" состояния, для роли.

  1. Разрешить доступ на запись к роли для элемента контента
  2. Запретить доступ для записи состояния рабочего процесса
  3. Разрешить доступ для "Выполнение команды рабочего процесса"

Но это не ведет себя, как ожидалось. Я вижу это сообщение: "Вы не можете редактировать этот элемент, потому что у вас нет прав на запись". (ожидается) . НО, Запретить "запись состояния рабочего процесса" также скрывает кнопки команд

Я вижу странный паттерн - я начинаю с разрешения доступа на запись везде (запись элемента контента и запись состояния рабочего процесса) -

  1. Переместите элемент в рабочий процесс, перейдите к этапу просмотра (теперь есть обе кнопки и разрешения на редактирование) .
  2. Теперь я возвращаюсь в редактор безопасности и "запрещаю запись состояния рабочего процесса" для роли, для состояния проверки.
  3. Я обновляю элемент контента, теперь я вижу кнопки команд И другое сообщение "Вы не можете редактировать этот элемент, потому что он находится в состоянии рабочего процесса, к которому у вас нет прав на запись".

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

1 ответ

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

Из Справочного документа Workflow (который написан для Sitecore 6, но все еще применим):

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

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

Единственный другой вариант, который приходит на ум, это программно установить DisableWebEdit Свойство на Sitecore контролирует, когда в определенном состоянии рабочего процесса, но это может быть немного.

Другие вопросы по тегам