Права доступа и группы в Joomla: ошибки новичков
В Joomla группа пользователя и уровень доступа решают разные задачи. Разбираем настройку ACL на Joomla 5.x: как ограничить раздел, не закрыть админку и быстро найти причину ошибки 403.

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