Настройка админ панели клиента Modx Revolution с настройкой прав доступа
Когда я начал работать на CMF Modx Revolution (до этого сажал сайты на Evolution) я открыл для себя неприятную новость - я не могу создать админку для клиента с теми правами доступа, чтобы клиент ничего не испортил на сайте. То есть с закрытыми "Элементами", рабочими файлами системы, системными настройками и так далее. Вообщем я не знал как настроить админку под клиента. Сейчас знаю :)) И хочу поделиться этими знаниями с вами!
В Evolution все было достаточно просто: создаешь права пользователю и готово! А здесь нужно проделать достаточно много шагов, но сдругой стороны - в Modx Revolution с правами на документы и файлы можно делать все, что угодно (если конечно разбираться в этом). Ну что ж, начнем!
1. Переходим в "Безопасность" - "Контроль доступа" в верхнем меню админ-панели
2. Заходим во вкладку "Политика доступа"
3. Нажимаем на кнопку "Создать политику доступа"
У нас откроется окно с полями. В поле Имя пишем "manager", шаблон политики доступа - AdministratorTemplate. Жмем кнопку сохранить
4. После сохранения политики доступа "manager" мы видим, что она появилась у нас в списке политик доступа
5. Редактируем manager
6. Убираем галочки ненужных параметров
Внизу этой открывшейся страницы есть список параметров (разрешений). Нам нужно убрать галочки с тех параметров, которые отвечают за вывод каких либо ресурсов в админке, чтобы избежать редактирования или удаления нужных документов, файлов, элементов для правильной работы сайта.
Убираем галочки со следующих параметров:
- access_permissions Вывод страницы с настройками прав доступов пользователей
- dashboards Просмотр и управление панелями
- element_tree Возможность просмотра дерева элементов в левой навигационной панели
- menu_reports Показывать в верхнем меню пункт «Отчёты»
- menu_security Показывать в верхнем меню пункт «Безопасность»
- menu_system Показывать в верхнем меню пункт «Система»
- menu_tools Показывать в верхнем меню пункт «Инструменты»
- new_static_resource Создавать новые статичные ресурсы.
- remove_locks Удалять все блокировки на сайте
Обязательно нажимаем кнопку "Сохранить"
7. Переходим во вкладку "Безопасность" - "Контроль доступа" - "Роли"
8. Нажимаем кнопку "Создать новый", в поле Имя вбиваем Manager, Ранг - 9, нажимаем кнопку "Сохранить"
9. Сохраняем изменения и переходим в меню "Безопасность" - "Контроль доступа" - "Группы пользователей"
Правой кнопкой мыши жмем на "Administrator" и нажимаем "Создать группу пользователей"
10. Создаем новую группу: Имя - Manager, Политика бэкэнда - нет политики, жмем "Сохранить"
11. Находим ее в списке Групп пользователей и жмем "редактировать"
12. Заходим в меню "Доступ к контекстам" и нажимаем "Добавить контекст"
13. Контекст - mgr, Минимальная роль - Manager - 9, Политика доступа - Manager
14. Добавляем еще одни контекст
А точнее редактируем уже имеющийся web: Контекст - web, Минимальная роль - Manager - 9, Политика доступа - Administrator. Нажимаем кнопку "Сохранить"
15. Мы увидим такую картину! Сохраняем все во вкладке "Группа пользователя: Manager"
16. Далее: "Безопасность" - "Управление пользователями"
17. Создаем нового пользователя (это будет наш клиент) - нажимаем кнопку "Новый пользователь".
Имя вы ему можете задать какое угодно, я назову его - manager
18. Имя пользователя - manager, жмем галочку - Активный, вбиваем email
19. Указываем пароль
20. Перед тем как сохранить, зайдите во вкладку "Права доступа"
21. Жмем кнопку "Добавить пользователя в группу", Группа пользователя - "Manager", Роль - "Manager"
Сохраняем. На этом создание админ панели, где у клиента есть доступы только к правке и созданию страниц в дереве документов, закончено. Но этот пользователь до сих пор имеет доступ ко всем файлам системы. И поэтому мы сейчас сделаем так, чтобы он имел доступ только к одной папке, которую мы создадим в корне сайта Modx Revolution
22. Переходим во вкладку "Инструменты" - "Источники файлов"
23. Откроется список всех источников файлов. По умолчанию создан одни единственный - Filesystem
Перед созданием нового источника файлов, нужно сначала изменить этот. Нажимаем на "Filesystem" правой кнопкой мыши и выбираем "Редактировать"
24. Откроется такое окно. Жмем "Добавить группу пользователей"
25. Группы пользователей - Administrator, Минимальная роль - Super User - 0, Политика - Media Source Admin. Нажимаем "Сохранить"
26. Возвращаемся к Источникам файлов и создаем новый источник файлов
Назовем его "Manager", Тим источника файлов - Файловая система
Жмем "Сохранить"
27. Нажимаем правой кнопкой мыши на новый источник файлов "Manager" и выбираем "Редактировать"
28. Откроется такое окно! Нам нужно изменить первые 4 параметра
В basePath в поле значение мы вбиваем /manager/, basePathRelative и baseUrlRelative оставляем как есть со значениями "Да", в поле baseUrl пишем manager/
Жмем сохранить! Теперь осталось только задать права доступа к источнику файлов, но перед этим нам нужно задать источник файлов ко всем tv параметрам, которые будет администрировать наш клиент
29. Заходим в tv параметр
30. Нажимаем самую последнюю вкладку "Источники файлов"
и меняем источник файлов с "Filesystem" на "Manager". Сохраняем!
31. Добавляем группу пользователей в "Manager"
Теперь после всех проделанных шагов заходим в "Источник файлов" - "Manager" и добавляем группу пользователей в этот источник файлов
32. Группы пользователей - Manager, Минимальная роль - Manager - 9, Политика - Media Source Admin. Жмем "Сохранить"
Сразу после сохранения источник файлов "Manager" исчезнет для администратора. Для того чтобы можно было редактировать этот источник файлов, нужно зайти в меню "Безопасность - Контроль доступа". Открыть на редактирование группу менеджера: Manager и во вкладке "Источники файлов" найти и удалить источник Manager. Только тогда мы сможем вновь редактировать данный источник из под администратора.
33. На всякий случай очищаем кэш
и наш пользователь с ограниченными правами и доступами к файловой системе создан!
Не скажу, что это достаточно легко, но если делать это на автоматизме, то это не покажется чем то тяжелым. Надеюсь у вас все получилось! Удачи в проектах!
Комментарии ()