ACL (Список контроля доступа)
Последнее обновление Sep 6th, 2026 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$194 per month—let's make that $500!
Learn moreЧто такое ACL (список контроля доступа)?¶
ACL, или список контроля доступа (Access Control List), это набор Разрешений, прикреплённых к объекту. Подробнее об ACL можно прочитать в Википедии.
Использование¶
В MODX ACL можно применить к любому modAccessibleObject. В первую очередь MODX Revolution 2.0 позволяет использовать ACL для ресурсов и контекстов.
ACL контекста¶
ACL контекста состоит из 4 частей:
Это означает, что вы можете назначить ACL для контекста, который будет применяться к:
- Всем пользователям в группе пользователей
- ... с минимальной указанной ролью
- ... и даст пользователям все разрешения в назначенной политике доступа.
ACL ресурса¶
ACL для ресурсов работают немного иначе и в основном позволяют ограничить доступ к ресурсам (документы, веб-ссылки и т. д.) через группы ресурсов. Они состоят из 5 частей:
Это означает, что ACL, применённый к группе ресурсов:
- Затронет всех пользователей в указанной группе пользователей
- ... с минимальной указанной ролью
- ... даст разрешения на ресурсы (save, load, delete и т. д.) из указанной политики
- ... для всех ресурсов в группе ресурсов
Публикация в менеджере и несколько групп¶
Публикация в менеджере (чекбокс Published, даты publish/unpublish, пункты Publish/Unpublish в дереве, процессоры publish/unpublish) смотрит на контекстное разрешение publish_document (и unpublish_document) через modX::hasPermission(). В менеджере текущий контекст это mgr.
Следствия:
- Политика с
publish_documentтолько на фронтовом контексте (webили другом) не включает кнопки публикации в менеджере. Нужен Context Access ACL наmgr. - Разрешения Resource ACL
publish/unpublish(ресурсная политика) это другой слой. Текущий UI публикации в менеджере их не использует. - Несколько групп на
mgrобъединяются через OR: достаточно, чтобы одна подходящая ACL наmgrдалаpublish_document. Это не пересечение всех групп. - Типичная ловушка: одна группа даёт на
mgrполитику Content Editor (без публикации), а вторая кладёт политику с публикацией только на другой контекст. Пользователь в обеих группах всё равно без publish в менеджере, покаpublish_documentне появится наmgr.
Что сделать: добавьте Context Access на mgr хотя бы для одной группы пользователя с политикой, где есть publish_document (и при необходимости unpublish_document). Content Editor на другой группе можно оставить. Сбросьте сессии/права и проверьте снова.
Подробнее: Политика администратора (publish_document), доступ менеджера. Фон треда: modxcms/revolution#14925.
Смотрите также¶
- Пользователи
- Группы пользователей
- Группы ресурсов
- Роли
- Политики
- Уроки по безопасности
- Защита MODX Revolution
- Устранение проблем с безопасностью
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$194 per month—let's make that $500!
Learn more










