Права доступа и группы в Joomla: что проверить до старта
В Joomla права доступа строятся не вокруг одной галочки, а вокруг связки «группа — уровень доступа — разрешение». Разберём, что подготовить до настройки, как не запереть себя в админке и как проверить результат на тестовых аккаунтах.

Неправильно настроенные права в Joomla могут одновременно открыть редактору удаление материалов и лишить администратора доступа к компоненту. В этом руководстве для Joomla 5.x вы подготовите группы, уровни доступа и разрешения, проверите их на тестовых пользователях и избежите главной ошибки — попытки решить все задачи одной настройкой. На базовую схему уйдёт около 30–60 минут, если роли на сайте уже определены.
Что подготовить до начала
- Сайт на Joomla 5.x и учётную запись с правами Super Users. Названия пунктов могут немного отличаться в языковых пакетах.
- Список ролей: например, владелец сайта, администратор, редактор, автор, менеджер магазина.
- Отдельные тестовые аккаунты для каждой роли. Не проверяйте ограничения под собственной учётной записью Super Users: эта группа может обходить многие запреты.
- Понимание, какие разделы сайта должны быть публичными, а какие — видимыми только зарегистрированным пользователям или конкретной группе.
- Резервную копию базы данных и файлов, особенно если сайт уже работает и права будут меняться.
Сначала выпишите не названия должностей, а действия. «Редактор» — это не настройка Joomla. Полезная формулировка выглядит так: «может создавать и изменять материалы в разделе Новости, но не удалять их и не менять настройки компонента».
Без тестовых пользователей вы проверяете не права роли, а собственные права администратора.
Сноска. ACL (Access Control List) — система управления доступом. В Joomla она отвечает за то, кто может выполнить действие и кто видит объект: пункт меню, категорию, материал или компонент.
Как устроены права в Joomla
В Joomla нужно различать три сущности. Группа пользователей объединяет людей и получает разрешения. Уровень доступа определяет, кто видит объект. Разрешение отвечает за действие: вход, создание, изменение, удаление, публикацию или настройку.
| Сущность | На какой вопрос отвечает | Пример |
|---|---|---|
| Группа | К каким ролям относится пользователь | Редакторы |
| Уровень доступа | Кто видит страницу или модуль | Только редакторы |
| Разрешение | Что пользователь может сделать | Изменять материалы |
Эти настройки не заменяют друг друга. Если вы разрешили группе изменять материалы, это ещё не сделало закрытую страницу видимой для её участников. И наоборот: пользователь может видеть пункт меню, но получить отказ при попытке изменить материал.
Пошаговая настройка
1. Составьте карту ролей и действий
Запишите для каждой роли четыре вещи: куда пользователь входит, что видит, что создаёт и что может менять или удалять. Отдельно отметьте действия с высоким риском: публикация, удаление, изменение пользователей, установка расширений и доступ к глобальной конфигурации.
Не создавайте группу под каждую мелкую задачу. Если пользователю нужно одновременно выполнять обязанности автора и модератора, сначала проверьте, можно ли выразить это двумя существующими группами или одной новой ролью.
Проверка: для каждой роли есть список конкретных действий и объектов, а не только общее название вроде «контент-менеджер».
2. Проверьте встроенные группы
Откройте раздел управления пользователями и найдите группы. В Joomla уже есть системная иерархия, включая Registered, Author, Editor, Publisher, Manager, Administrator и Super Users. Их названия и исходные разрешения не стоит принимать за готовую модель для вашего проекта.
Наследование важно: дочерняя группа может получить разрешения родительской. Если новая группа унаследована от слишком привилегированной, отдельный запрет не всегда даст ожидаемый результат. Для рабочих ролей лучше выбрать минимально привилегированного родителя и добавлять только нужные возможности.
Проверка: вы понимаете, от какой группы наследуется каждая новая роль и какие права она получает вместе с наследованием.
3. Создайте собственные группы
В разделе групп создайте роли под реальный процесс сайта: например, «Контент — авторы» и «Контент — редакторы». В поле родительской группы не выбирайте Administrator или Super Users только потому, что пользователю нужна одна дополнительная функция.
Группа сама по себе не выдаёт доступ к закрытому разделу. Она станет полезной после настройки разрешений и уровня доступа.
Проверка: новая группа отображается в списке, а в её описании понятно, кому и для чего она предназначена.
4. Настройте уровни доступа для видимости
Откройте уровни доступа и создайте, например, «Внутренние материалы». Отметьте в нём только те группы, которым разрешено видеть объект. Затем назначьте этот уровень конкретному пункту меню, модулю, категории или материалу.
Проверяйте всю цепочку. Скрытая категория не поможет, если сам пункт меню открыт публично через другой пункт. Модуль также может иметь собственный уровень доступа, поэтому закрытая статья не гарантирует скрытие блока с её ссылкой.
Проверка: гость не видит закрытый пункт, пользователь нужной группы видит его после входа, а пользователь другой группы получает отказ или не видит ссылку — в зависимости от типа объекта.
5. Настройте разрешения на действия
Разрешения меняются в параметрах компонента, категории или глобальной конфигурации — в зависимости от того, для какого объекта нужна настройка. Ищите действия вроде «Вход в админ-панель», «Создание», «Удаление», «Изменение», «Изменение состояния» и «Настройка».
Начинайте с минимального набора. Для автора обычно достаточно создавать и изменять собственные материалы. Редактору может понадобиться изменение материалов других авторов, а право публикации лучше выдавать только тому, кто действительно отвечает за выпуск.
Не путайте «изменение» с «изменением состояния». Вторая возможность может позволить публиковать, снимать с публикации или отправлять материал в архив — это отдельный риск.
Проверка: тестовый пользователь может выполнить разрешённое действие и получает отказ на действие, которого в его роли быть не должно.
6. Назначьте группы пользователям
Создайте или откройте пользователя, выберите нужные группы и сохраните изменения. Один пользователь может состоять в нескольких группах. Итоговые возможности будут складываться из назначенных групп и их наследования, поэтому не добавляйте «на всякий случай» Administrator.
Для внешних пользователей используйте отдельную группу, даже если сейчас им разрешён только просмотр. Так проще изменить правила позже, не затрагивая сотрудников.
Проверка: в карточке пользователя видны только необходимые группы, а после повторного входа его меню и действия соответствуют роли.
7. Проведите проверку в трёх режимах
- Откройте сайт в приватном окне без входа. Проверьте публичные страницы, закрытые пункты меню и отображение модулей.
- Войдите тестовым пользователем с минимальной ролью. Проверьте просмотр, создание, изменение, публикацию и удаление — только те действия, которые записаны в карте роли.
- Войдите тестовым пользователем с расширенной ролью. Убедитесь, что доступ к нужному разделу появился, но глобальная конфигурация, пользователи и расширения по-прежнему закрыты.
Проверка: у каждой роли есть зафиксированный результат по каждому действию: «разрешено», «запрещено» или «не применимо». Проверку лучше сохранить в виде короткой таблицы для следующего изменения.
Если не получилось
- Пользователь видит пункт, но получает «403» или сообщение «You are not authorised to view this resource». Проверьте не только уровень доступа, но и разрешение на действие, родительскую группу и права самой категории.
- Запрет не сработал. Посмотрите, не состоит ли пользователь в другой группе с более широкими правами. Проверьте также наследование от родительской группы.
- Страница доступна гостю через прямую ссылку. Уровень доступа назначен не тому объекту или существует другой пункт меню, модуль либо материал с публичными настройками. Проверяйте URL в приватном окне.
- После изменения ничего не изменилось. Выйдите из аккаунта и войдите снова, очистите кеш Joomla и кеш внешнего прокси или CDN, если он используется. Заодно проверьте, что редактировали нужный сайт и нужный компонент.
- Пользователь не видит редактор или кнопку публикации. Сверьте разрешение на изменение состояния и доступ к админской части. Видимость кнопки может зависеть от настроек конкретного компонента.
Где схема ломается
Самая частая проблема — смешение доступа к админке и доступа к контенту. Разрешение войти в административную часть не означает право менять любой материал. Обратная ситуация тоже возможна: пользователь видит контент на сайте, но не может управлять им из панели.
Осторожнее с расширениями сторонних разработчиков. Они могут добавлять собственные действия, группы и уровни доступа, а также использовать Joomla ACL не полностью. Перед настройкой проверьте документацию конкретного расширения и протестируйте его отдельно.
Не стройте безопасность на скрытии ссылок. Если действие действительно запрещено, должно срабатывать разрешение компонента, а не только отсутствие кнопки в меню. Скрытая ссылка — это удобство интерфейса, не защита.
Что сделать дальше
Сохраните карту ролей и матрицу проверок в документации проекта. После каждого изменения групп прогоняйте тестовые аккаунты, особенно перед публикацией нового расширения или передачей сайта подрядчику. В рабочем Joomla 5.x отдельно контролируйте список Super Users, регулярно удаляйте неиспользуемые учётные записи и проверяйте, что резервная копия действительно восстанавливается на тестовой копии сайта.
Проверка рекламы на риски: Что в макете вызовет вопросы ФАС: превосходные степени, сравнения, обещания результата, маркировка.
Спросить за 40 ₽Источники: Joomla Documentation: Access Control List Tutorial, Joomla Documentation: Access Control List
Частые вопросы
Чем группа пользователей отличается от уровня доступа в Joomla?
Можно ли дать пользователю доступ только к одной категории материалов?
Почему пользователь состоит в группе, но всё равно получает отказ?
Можно ли настроить права только через скрытие пунктов меню?
Что будет, если пользователь состоит сразу в нескольких группах?
Как не потерять доступ к админке после изменения разрешений?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.