Настройка прав доступа для менеджера контента в MODX Revolution
- 01.12.2023
- MODx, Инструкции, Права доступа
Подробное руководство по конфигурированию учетной записи для менеджера в MODX.
Подробное руководство по конфигурированию учетной записи для менеджера в MODX.
Как только вы установили MODX — вам становится доступна группа пользователей Administrator, в которую входит и созданный при установке администратор. Однако, как только сайт запускается в жизнь, возникает необходимость создать отдельные учетные записи для тех, кто будет управлять сайтом (создавать новости, добавлять товары, управлять заказами). Группа Administrator для этой цели плохо подходит, т.к. у менеджеров появляется возможность (случайно или даже намеренно) повредить сайт, т.к. есть полный доступ к чанкам, шаблонам, сниппетам да и всем файлам.
Чтобы этого избежать мы создаем отдельную группу с ограниченными правами, в которую добавляем учетные записи менеджеров.
Этап 1. Создание политик и пользователя
Создание политики доступа
- Заходим в меню «Настройки» / «Контроль доступа», вкладка «Политики доступа».
- Копируем политику «Content Editor» (назовем, к примеру, «Менеджер») и открываем её на редактирование.
- Добавим несколько разрешений, которых нет у исходной «Content Editor»:
- directory_chmod — Изменять права доступа (chmod) к каталогам;
- directory_create — Создавать каталоги в файловой системе;
- directory_list — Видеть список подкаталогов для каталога в файловой системе;
- directory_remove — Удалять каталоги в файловой системе;
- directory_update — Переименовывать каталоги в файловой системе;
- file_create — Создавать файлы;
- file_list — Видеть список файлов в папках;
- file_manager — Использовать диспетчер файлов;
- file_remove — Удалять файлы;
- file_tree — Видеть дерево файлов в левой навигационной панели;
- file_update — Изменять файлы;
- file_upload — Загружать файлы в папку;
- file_view — Просматривать содержимое файла;
- search — Использовать страницу «Поиск»;
- 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»;
- Теперь можно необходимые ресурсы добавить в эту группу (вкладка «Группы ресурсов» на странице редактирования ресурса).