пятница, 29 мая 2015 г.

MODX. Как не дать контент менеджеру сайт испортить

Статья руководство о том как настроить админку и ограничить доступ контент менеджеру(администратору сайта) к средствам разработчики на сайте. Чтобы он не смог зайти на вкладку "Элементы", и в "Настройки системы", и вообще чтобы не видел их.
В конечном результате мы должны получить что-то типа этого:

Как видно на скриншоте из админки исчезла вкладка "Элементы", исчезла шестеренка справа наверху, отвечающая за настройки MODX, а пункт "Управление словарями" из этих настроек перенесен в меню "Управление", чтобы у контент менеджера была возможность редактировать словари.
Во вкладке Файлы есть доступ только к источнику Upload, это просто папка в корне сайта /upload/ в которой контент менеджер может творить что хочет не опасаясь что может испортить в ядре сайта.
Итак, как же добиться такой крутой админки для контент менеджера?
Для начала зайти в Контроль доступа:


И импортировать подготовленную политику доступа:

После этого создаем новую группу пользователей и называем её соответственно, прописываем в ней все необходимые поля, включая имя предварительно созданного пользователя("Управление"->"Пользователи"->"Новый пользователь" только не назначайте ему неограниченные права соответствующей галочкой и не забудьте галочку "Активный").

Если все сделали правильно появится новая группа пользователей, уже содержащая нашего указанного пользователя, который будет заходить в админку и видеть только необходимые ему вкладки и пункты меню MODX. Чтобы этого добиться отредактируем нашу группу пользователей вызвав контекстное меню группы Content Managers:

На вкладке "Разрешения" в "Доступе к контекстам"  измении политику доступа на нашу "Content Manager", чтобы получилось таким образом:

После этого нужно сохранить изменения в группе пользователей и перезагрузить права доступа:


Вот и все, теперь можно попробовать зайти в другом браузере(чтобы не переключаться по несколько раз с контент менеджера на админа) зайти как контент менеджер и проверить работоспособность админки:


Вид обновленной админки:


Но остались два последних штриха: перенести Управление словарями из настроек MODX в меню "Управление" и ограничить доступ к файловой системе, дать доступ только к папке /upload/.
Начнем с того что попроще: чтобы перенести в Управление словарями в меню Управление нужно через пользователя admin(в нашем случае пользователь с неограниченными правами, у которого все еще есть доступ к настройкам MODX) зайти в Действия

И просто перенести пункт меню "Управление словарями" из настроек в другое меню(Управление):

Перезагружаем страницу, и готово: пункт меню на нужном нам месте:

Теперь чтобы у контент менеджера был доступ только к папке /upload/ воспользуемся инструкцией из этой статьи.

ПРИМЕЧАНИЕ: Если нужно скрыть какую-то дополнительную менюшку, например MIGX, то достаточно в Действиях зайти в редактирование пункта меню, и поставить в нем ключ привилегии, который будет отвечать так-же за показ этого пункта меню помимо прочих:


Ключи привилегий можно посмотреть в редактировании нашей импортированной политики доступа Content Manager(например):

Таким образом меню MIGX, в котором мы поставили в Привилегии components не будет отображаться для нашего пользователя content_manager потому-что мы убрали эту привилегию в политике доступа Content Managers. То-есть меню MIGX вместе с остальными менюшками и пунктами меню, где проставлены в Привилегии components, не будет отображаться для пользователя потому-что у него нет такой привилегии :) Все оказывается достаточно логично и просто если задуматься.

Ссылки:
http://bobsguides.com/blog.html/2013/10/24/hiding-modx-top-menu-items-from-some-users/

1 комментарий:

  1. Супер! Все настройки сделал по Вашей статье, все получилось. Спасибо огромное! Сэкономил массу времени.

    ОтветитьУдалить