Главный принцип: права выдаются группе, а не пользователю

В MODX User может состоять в нескольких User Groups. Доступ формируется через Context Access, Resource Group Access, Element Category Access и Media Source Access.

Какой ACL использовать

Задача
анизм
од в mgr и действия в ManagerContext Access
Доступ только к части страницResource Group Access
Скрыть/разрешить Elements категорииElement Category Access
Ограничить папки файловMedia Source Access

Не изменяйте штатную policy напрямую

Для собственного набора прав безопаснее скопировать подходящую стандартную Access Policy и менять копию. Так обновление MODX не перезапишет ваши изменения.

Пример: редактор только для своего раздела

  1. создайте User Group «Редакторы раздела»;
  2. добавьте пользователю эту группу;
  3. дайте группе Context Access в mgr с ограниченной policy;
  4. создайте Resource Group и включите туда нужные ресурсы;
  5. назначьте Resource Group Access;
  6. при необходимости ограничьте Media Source;
  7. Flush Permissions и тест отдельным пользователем.

Проверить группы текущего пользователя через MODX API

PHP
<?php
$groups = $modx->user->getUserGroups();
$modx->log(modX::LOG_LEVEL_INFO, 'User groups: ' . print_r($groups, true));

Как тестировать права

Никогда не проверяйте ограниченную роль своей Super Admin учётной записью. Используйте отдельного тестового пользователя, другой браузер/приватное окно, затем Flush Permissions. Проверяйте не только меню, но и прямые URL/processor actions.

Если пользователь видит страницу, но не может сохранить

Смотрите Network response и конкретное permission/processor. Это помогает отличить неверную Resource Group ACL от отсутствующего разрешения в Manager policy.

Связанные инструкции