НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
30 of 182 menu

Таблица role_permission

Таблица role_permission является ключевым компонентом системы управления доступом в Drupal. Она хранит связи между ролями пользователей (role) и разрешениями (permission), которые определяют, какие операции могут выполнять пользователи, принадлежащие к данной роли.

Поля

Поле Тип данных Описание
rid varchar(255) Идентификатор роли (Role ID). Внешний ключ, ссылается на таблицу role.
permission varchar(128) Машинное имя разрешения. Разрешения определяют конкретные действия, которые могут быть выполнены (например, access content, administer nodes).

Как это работает

Когда пользователь входит в систему, Drupal определяет все роли, назначенные этому пользователю. Затем система собирает все разрешения, связанные с этими ролями через таблицу role_permission, и объединяет их в один список. Этот список разрешений проверяется при попытке пользователя выполнить любое действие в системе.

Разрешения обычно определяются модулями Drupal через hook_permission(). Каждый модуль объявляет, какие разрешения он предоставляет для контроля доступа к своим функциям.

Администраторы сайта могут управлять правами доступа через административный интерфейс по пути admin/people/permissions, где они могут устанавливать флажки для назначения разрешений ролям. Каждое изменение в этом интерфейсе приводит к обновлению записей в таблице role_permission.

Важно отметить, что таблица не содержит первичного ключа в традиционном понимании, а использует комбинацию rid и permission для уникальной идентификации записей.

Пример SQL-запроса

Получить все разрешения для роли "authenticated user":

SELECT r.name as role_name, rp.permission FROM role_permission rp JOIN role r ON rp.rid = r.rid WHERE r.name = 'authenticated user' ORDER BY rp.permission;

Смотрите также

  • таблицу role,
    которая хранит определения ролей пользователей
  • таблицу users,
    которая содержит учетные записи пользователей
  • таблицу users_roles,
    которая связывает пользователей с ролями
  • таблицу config,
    которая хранит конфигурации системы, включая настройки прав доступа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить