Настройка прав доступа для менеджера контента в MODX Revolution

Подробное руководство по конфигурированию учетной записи для менеджера в MODX.

Подробное руководство по конфигурированию учетной записи для менеджера в MODX.

Как только вы установили MODX — вам становится доступна группа пользователей Administrator, в которую входит и созданный при установке администратор. Однако, как только сайт запускается в жизнь, возникает необходимость создать отдельные учетные записи для тех, кто будет управлять сайтом (создавать новости, добавлять товары, управлять заказами). Группа Administrator для этой цели плохо подходит, т.к. у менеджеров появляется возможность (случайно или даже намеренно) повредить сайт, т.к. есть полный доступ к чанкам, шаблонам, сниппетам да и всем файлам.

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

Этап 1. Создание политик и пользователя

Создание политики доступа

  • Заходим в меню «Настройки» / «Контроль доступа», вкладка «Политики доступа».
  • Копируем политику «Content Editor» (назовем, к примеру, «Менеджер») и открываем её на редактирование.
  • Добавим несколько разрешений, которых нет у исходной «Content Editor»:
    1. directory_chmod — Изменять права доступа (chmod) к каталогам;
    2. directory_create — Создавать каталоги в файловой системе;
    3. directory_list — Видеть список подкаталогов для каталога в файловой системе;
    4. directory_remove — Удалять каталоги в файловой системе;
    5. directory_update — Переименовывать каталоги в файловой системе;
    6. file_create — Создавать файлы;
    7. file_list — Видеть список файлов в папках;
    8. file_manager — Использовать диспетчер файлов;
    9. file_remove — Удалять файлы;
    10. file_tree — Видеть дерево файлов в левой навигационной панели;
    11. file_update — Изменять файлы;
    12. file_upload — Загружать файлы в папку;
    13. file_view — Просматривать содержимое файла;
    14. search — Использовать страницу «Поиск»;
    15. components — Видеть меню «Пакеты».

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

Кроме описанного способа можно просто импортировать политику из этого готового xml файла.

Создание группы пользователей

  • Заходим в меню «Настройки» / «Контроль доступа», вкладка «Группы пользователей & Пользователи».
  • Создадим новую группу пользователей и заполним 3 поля: название — «Managers»; Контексты — web,mgr; «Политика системы управления» — Менеджер.
  • Нажимаем редактировать для только что созданной группы и на вкладке «Права доступа / Доступ к контекстам» для контекстов mgr и web настраиваем записи «Политика доступа» — «Менеджер», Минимальная роль — «Super User», сохраняем.

Создание пользователей

Теперь можно создать нового пользователя и на вкладке «Права доступа» добавить его в группу «Managers», выбрав при этом роль «Super User».

Этап 2. Ограничения доступа к файлам

Отлично, теперь у нас есть менеджер, но у него полный доступ ко всем файлам сайта, что крайне небезопасно.

Создадим в корне сайта отдельную директорию /uploads, куда попадут все загруженные менеджерами файлы.

Новый источник файлов

В MODX мы можем ограничить доступ к файлам для пользователей на уровне источника файлов (т.е. мы можем запретить или разрешить доступ к определенным источникам файлов, а не к конкретным директориям).

Поэтому создадим новый источник файлов, к которому менеджеры будут иметь доступ:

  • Заходим в «Медиа» / «Источники файлов», выделяем имеющийся Filesystem и копируем его.
  • Внесем следующие изменения в наш новый источник: Название — «Загрузки», basePath — «uploads/», baseUrl — «uploads/» (не забудьте через ftp или вкладку «Файлы» создать данную директорию на сервере в корне сайта).
  • Далее открываем вкладку «Права доступа» и нажимаем кнопку «Добавить группу пользователей», задаем: «Группа пользователей» — Managers, «Минимальная роль» — Member, «Политика доступа» — Media Source Admin.
  • Сохраняем изменения и перезагружаем права доступа через меню «Управление / Перезагрузить права доступа».

Скроем источник файлов Filesystem от менеджеров

Для этого нужно в разделе «Медиа» / «Источники файлов» дать явный доступ ко всем источникам для группы «Administrator»: открываем все источники файлов по очереди и на вкладке «Права доступа» добавляем группу пользователей «Administrator», указывая роль «Super User» и политику доступа «Media Source Admin».

Этап 3. Группы ресурсов

MODX Revolution позволяет поместить ресурсы (страницы сайта) в группы, к которым будут иметь доступ только определенные группы пользователей.

К примеру, скроем служебные страницы (это могут быть страница 404 ошибки, robots.txt, оформленный через ресурс и т.п.) от менеджеров.

  • Переходим в меню «Содержимое» / «Группы ресурсов», создаем новую группу с именем «Служебные», при создании поставим галочку «Автоматически дать доступ группе «Administrator»;
  • Теперь можно необходимые ресурсы добавить в эту группу (вкладка «Группы ресурсов» на странице редактирования ресурса).