Django CMS Права доступа

17 October 2013 г. 23:29:40

В django-cms Вы можете установить два типа прав доступа:

  1. Ограничения просмотра, что бы ограничить доступ пользователей для просмотра со стороны фронтэнда
  2. Права доступа для страницы, для разрешения персоналу, чтобы иметь право только к определенной секции определенного сайта

Для включения этих фич в settings.py требуется указать:

CMS_PERMISSION = True

5.1. Ограничение просмотра

Ограничения права на просмотр может быть настрое в форме View restrictions на любой странице. После того как странице установлено хотя бы одно ограничение, просматривать эту страницу смогут только пользователи с правом доступа. Помните что это ограничения для просмотра странице распространяется на конечный пользователей (просмотр фронтенда), а не просмотра страницы из интрефейса администратора!

Ограничение на просмотр так-же управляется при помощи настройки CMS_PUBLIC_FOR. Возможными значениями являются  all и staff. С помощью настройки можно указать, что страница без каких либо ограничения является:

Видимой для всех - включая анонимных пользователей (all)

Видимой только для персонала (staff)

5.2. Права доступа к странице

После установки CMS_PERMISSION = True у вас появятся три новые модели в интерфейсе аминистратора:

  1. Users (page)
  2. User groups (page)
  3. Pages global permissions

Используя Users (page) вы легко можете добавлять пользователей с правами к страницам cms.

Вы сможете созавать пользоватля с одинаковым набором прав используя обычную модель Auth.User model,  но использование Users (page) предпочтительнее.

Новые пользователи созданные с помощью Users (page) получат права на добавление/редактирование и удаление не смогут вносить какие-то изменения сразу. Пользователю сначала должен быть назначен набор страницы  над которыми он сможет осуществить свои права. Это сделано при помощи формы Page permissions для любой страницы или используя Pages global Permissions.

Форма Page permission имеет несколько чек-боксов определяющих различные права:

  • может редактировать
  • может добавлять
  • может удалять
  • может менять дополнительные настройки
  • может публиковать
  • может перемещать 
  • может менять права

Это определяет какой вид действий пользователя или группы может быть сделан со страницей. Права для страницы были указаны через выпадающий списка Grant on.

Может менять права отностится к тому, что пользователь может менять права для подчиненных ему пользователей. Боб подчиняется Элис в одном из случаев:

Боб был создан Элис

У Боба есть хотя бы одна страница из набора страниц в который у Элис  есть право менять права.

Замечание: Помните что даже если у нового пользователя есть прав менять страницу, это не дает ему права добавлять плагины на эту страницу. Чтобы получить право на добавление/изменение/удаление планинов для любой странице, Вам, как обычно, понадобится пойти в модель Auth.User  и наделить нового пользователя правами к каждому плагину, к которому Вы хотите предоставить ему доступ.

Например, если Вы хотите чтобы новый пользователь мог использовать плагин text, Вам понадобится дать ему следующие права: text | text | Can add text, text | text |Can change text, text | text | Can delete text.

Использование глобальной модели прав страниц Вы можете наделить набором прав к набору страниц страницам  или сайту.

 


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

comments powered by Disqus
Меню

Cult of digits 2014 Яндекс.Метрика