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