Spec-Zone.ru › Wagtail 2

Разрешения

Wagtail адаптирует и расширяет систему разрешений Django, чтобы удовлетворить потребности создания контента сайта, такие как рабочие процессы модерации и совместная работа нескольких команд над разными разделами сайта (или несколькими сайтами в одной установке Wagtail). Разрешения можно настроить в разделе «Группы» интерфейса администрирования Wagtail в «Настройках».

Разрешения на страницы

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

MegaCorp/
    About us
    Offices/
        UK
        France
        Germany

то группа с правами «изменить» на странице «Офисы» автоматически получит возможность редактировать страницы «Великобритания», «Франция» и «Германия». Разрешения можно установить глобально для всего дерева, назначив их на странице «корень» — поскольку все страницы должны находиться под узлом корня, а корень удалить нельзя, это разрешение будет распространяться на все страницы, которые существуют сейчас и в будущем.

Всякий раз, когда пользователь создаёт страницу через администрирование Wagtail, этот пользователь назначается владельцем этой страницы. Любой пользователь с правом «добавить» имеет возможность редактировать страницы, которые ему принадлежат, а также добавлять новые. Это признание того факта, что создание страниц обычно является итерационным процессом, включающим создание нескольких черновиков — предоставление пользователю возможности создать черновик, но не дать ему возможности редактировать его впоследствии, не будет очень полезно. Возможность редактировать страницу также подразумевает возможность её удаления; в отличие от стандартной модели разрешений Django, нет отдельного разрешения «удалить».

Полный набор доступных типов разрешений следующий:

  • Добавить — предоставляет возможность создавать новые подстраницы под этой страницей (при условии, что модель страницы позволяет это — см. Правила типа родительской страницы/подстраницы), а также редактировать и удалять страницы, принадлежащие текущему пользователю. Опубликованные страницы нельзя удалить, если у пользователя также нет права «опубликовать».
  • Изменить — предоставляет возможность редактировать и удалять эту страницу и все страницы под ней, независимо от владения. Пользователь только с правом «изменить» не может создавать новые страницы, только редактировать существующие. Опубликованные страницы нельзя удалить, если у пользователя также нет права «опубликовать».
  • Опубликовать — предоставляет возможность публиковать и отменять публикацию этой страницы и/или её дочерних страниц. Пользователь без права публикации не может напрямую вносить изменения, которые видны посетителям сайта; вместо этого они должны направить свои изменения на модерацию. Права «опубликовать» независимы от прав «изменить»; пользователь только с правом «опубликовать» не сможет вносить собственные правки.
  • Удалить массово — позволяет пользователю удалять страницы, имеющие потомков, за один раз. Без этого разрешения пользователю нужно удалять дочерние страницы по отдельности, прежде чем удалять родительскую. Это защита от случайного удаления. Это разрешение должно использоваться в сочетании с правами «добавить»/«изменить», так как оно не предоставляет никаких прав на удаление; оно только предоставляет «сокращение» для разрешений, которые у пользователя уже есть. Например, пользователь с только правами «добавить» и «массово удалить» сможет выполнить массовое удаление только в том случае, если все затронутые страницы принадлежат этому пользователю и не опубликованы.
  • Заблокировать — предоставляет возможность блокировать или разблокировать эту страницу (и все страницы под ней) для редактирования, предотвращая пользователей от внесения дальнейших изменений.

Черновики можно просматривать только если у пользователя есть разрешение «Редактировать» или «Опубликовать».

Разрешения на изображения/документы

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

Доступ к определённым наборам изображений и документов можно контролировать, создавая *коллекции*. По умолчанию все изображения и документы принадлежат коллекции «корень», но пользователи с соответствующими правами могут создавать новые коллекции в разделе «Настройки» —> «Коллекции» интерфейса администрирования. Разрешения, установленные в «корне», применяются ко всем коллекциям, поэтому пользователь с правом «редактировать» изображения в корневой коллекции может редактировать все изображения; разрешения, установленные в других коллекциях, применяются только к этой коллекции и всем её подколлекциям.

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

Разрешения на управление коллекциями

Разрешения на управление самими коллекциями могут быть прикреплены в любой точке дерева коллекций. Доступные разрешения на управление коллекциями следующие:

  • Добавить — предоставляет возможность создания новых коллекций под этой коллекцией.
  • Изменить — предоставляет возможность редактировать имя коллекции, изменять её расположение в дереве коллекций и изменять настройки конфиденциальности документов в этой коллекции.
  • Удалить — предоставляет возможность удаления коллекций, которые были добавлены ниже этой коллекции. Примечание: коллекция должна не иметь подколлекций под ней и сама коллекция должна быть пустой, прежде чем её можно будет удалить.

Примечание

Пользователям запрещается перемещать или удалять коллекцию, используемую для назначения им разрешений на управление коллекциями.

Отображение настраиваемых разрешений в администрировании

Большинство разрешений автоматически отображаются в форме редактирования группы в администрировании Wagtail, однако вы также можете добавить их, используя хук register_permissions, (см. register_permissions).

  • Предыдущая Как использовать StreamField для смешанного контента
  • Следующая Расширенные темы

Содержание страницы

  • Разрешения
    • Разрешения на страницы
    • Разрешения на изображения/документы
    • Разрешения на управление коллекциями
    • Отображение настраиваемых разрешений в администрировании

© 2014-present Torchbox Ltd and individual contributors.
All rights are reserved.
Licensed under the BSD License.
https://docs.wagtail.org/en/v2.16.3/topics/permissions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API