Members vs. Kakapo Roles: управление правами, которые действительно держатся
Плагин управления правами оценивают по одному-единственному вопросу: держится ли право и тогда, когда никто не щёлкает по админке? Многое из того, что называется «скрытием», меняет только отображение — данные по-прежнему открыты, на расстоянии одного запроса к REST API. Это сравнение рассматривает Members и Kakapo Roles именно с этой точки зрения.
Коротко
Members — зарекомендовавший себя бесплатный плагин управления правами: создание и редактирование ролей, назначение прав, защита контента по ролям. Он лёгкий, распространённый и достаточен для большинства простых случаев.
Kakapo Roles работает на уровень глубже. Он управляет не только ролями и правами, но и тем, что пользователь вообще видит в админке, — админ-меню, медиатекой, виджетами, шорткодами, — и явно обеспечивает соблюдение правил видимости также в REST API. К этому добавляются журнал изменений, корзина для удалённых ролей и импорт/экспорт.
Коротко: кто хочет создавать роли и защищать контент, тот далеко продвинется с Members и ничего не заплатит. Кто хочет дать клиенту аккуратную админку, прозрачно документировать права или не допустить, чтобы правило затрагивало только интерфейс, тому больше подойдёт Kakapo Roles.
Что умеют оба
- Создание, переименование и удаление собственных ролей
- Назначение прав по ролям, в том числе для собственных типов контента
- Дополнительная выдача или отзыв прав у отдельных пользователей
- Ограничение контента определёнными ролями
- Несколько ролей у пользователя
До этого момента выбор — дело вкуса. Дальше становится интересно.
Чем они различаются
| Вопрос | Members | Kakapo Roles |
|---|---|---|
| Цена | бесплатно | платный плагин, одна лицензия на девять |
| Права на записи и через REST API | нужно проверить | да, явно обеспечивается |
| Скрытие админ-меню по ролям | через расширения | встроено |
| Ограничение медиатеки собственными файлами | через расширения | встроено |
| Виджеты и меню навигации по ролям | — | встроено |
| Разрешение шорткодов по ролям | — | встроено |
| Перенаправление после входа по ролям | — | встроено |
| Корзина для удалённых ролей | — | да, с восстановлением |
| Журнал изменений | — | да, кто, когда и какое право изменил |
| Импорт и экспорт прав | — | да, в виде файла |
| Защита от расширения прав | нужно проверить | get_editable_roles учитывается, в том числе в сети |
| Несколько сайтов | для каждого сайта отдельно | удалённый статус и одна лицензия для всех |
Различие, которое важно: скрыть — не значит заблокировать
Если запись должна быть видна «только определённым ролям», реализовать это можно двумя способами. Первый скрывает её в списках и во фронтенде. Второй отказывает в доступе — везде, в том числе там, где никто не кликает.
Это различие — не тонкость. REST API WordPress по умолчанию доступен; запрос к /wp-json/wp/v2/posts выдаёт записи в формате JSON без входа в систему. Правило, которое меняет только отображение, там бессильно — контент, предназначенный «только для участников», стоит открытым текстом в ответе.
Поэтому Kakapo Roles обеспечивает соблюдение правила видимости и в REST API. Именно эта строка — причина, по которой плагин управления правами вообще можно проверить: открой свой защищённый адрес один раз в виде JSON, выйдя из системы. Если содержимое там есть, правило ничего не защищает.
Эту проверку можно провести с любым плагином, в том числе с тем, которым ты пользуешься сейчас: защити запись, выйди из системы, открой /wp-json/wp/v2/posts?search=…. Она занимает минуту и говорит больше, чем любой список функций.Вторая ловушка: кто может выдавать права?
Плагин управления правами, который позволяет любому, у кого есть доступ к интерфейсу, выдать себе больше прав, сам себя обесценивает. В WordPress для этого есть хук: get_editable_roles() определяет, какие роли человек вообще может редактировать. Плагин, который его обходит, открывает ровно тот путь, который должен закрывать.
В режиме сети добавляется второй вопрос: роли там частично действуют на уровне всей сети. Кто перезаписывает их с одного из сайтов сети, меняет их для всех сайтов. Kakapo Roles учитывает и то и другое — и хук, и границу между сайтом и сетью.
Когда Members — лучший выбор
- Тебе нужны роли и права — и больше ничего
- Бюджет равен нулю
- Ты работаешь с одним сайтом и небольшим числом пользователей
- Ты хочешь плагин, который делает ровно одну вещь
Когда Kakapo Roles — лучший выбор
- Ты передаёшь админку клиенту и хочешь навести в ней порядок — меню, медиатека, виджеты
- Защищённый контент должен быть защищён и через REST API
- Ты должен иметь возможность подтвердить, кто, когда и какое право получил
- Ты хочешь один раз выстроить структуру прав и переносить её на другие сайты
- Ты и так используешь другие плагины Kakapo и хочешь один счёт вместо пяти
Переход: что нужно сделать
- Запиши, какие собственные роли существуют и какие права к ним привязаны, — достаточно скриншота матрицы.
- Создай резервную копию. Права хранятся в базе данных, и одна ошибка затрагивает всех пользователей сразу.
- Установи Kakapo Roles и введи лицензионный ключ.
- Воссоздай роли и сравни матрицу строка за строкой со своими записями.
- Войди под тестовым пользователем каждой роли и посмотри, что он действительно видит.
- Проведи REST-тест для защищённого контента.
- Только после этого отключи старый плагин — на две недели, не удаляя его.
Два плагина управления правами одновременно — плохое состояние: оба записывают в одни и те же роли, и побеждает тот, кто сохранил последним. Сделай переходный период коротким и в это время вноси изменения только в одном из двух.
Часто задаваемые вопросы
Перенимает ли Kakapo Roles мои существующие роли?
Что будет с моими ролями, если я удалю плагин?
Можно ли вернуть удалённую роль?
Действует ли ограничение и во фронтенде?
Что происходит без действующей лицензии?
Kakapo Roles — заплатите один раз, пользуйтесь всегда.
Все девять плагинов за 149 € один раз вместо 13 € в месяц. Безопасная оплата через Stripe. Первые 14 дней: проблема решена или деньги назад.
Получить Lifetime Все функции