Hook_permission drupal разрешения на доступ для разных ролей

Опубликовано: 18.12.2017

На прошлых уроках мы выводили страницы и блоки в разных местах, мы также использовали свойства ' access arguments ', ' access callback ' для задания ограничений на доступ к страницам. В этом уроке мы будем создавать возможность более гибкого редактирования правда доступа к операциям посредством страниц администрирования. Для этого мы будем использовать hook_permission() (в 6ом Друпале это был hook_perm() ).

Определяет разрешения для пользователей.

Этот хук может добавить разрешения, так что ваш модуль определит какие из них выбранны на страницы разрешений пользователей. Также хук используется для полного или частичного доступа к действиям (actions) которые выполняет модуль.

Разрешения проверяются используя user_access().

Возвращаемые значения

Массив ключи которого имя разрешения и соответствующие им значения массивы содержащие следующие пары ключ-значение:

title: Читаемое имя разрешения, которое показывается на странице разрешений. Это значения следует оборачивать в функцию t(), для того чтобы потом можно было перевести значение на другой язык.

description: (опционально) Описание того, что делает разрешения. Его тоже следует оборачивать в функцию t(), для перевода.

restrict access: (опционально) Boolean (логический, 0 или 1, true или false) который может быть TRUE для обозначения что администратору сайта следует ограничить доступ для этого разрешения только доверенным пользователям. Это свойство должно быть использовано для разрешений чтобы существующие угрозы безопасности не стали лазейкой для злоумышленника. (Например Управление фильтрами ввода и Полный контроль над нодами, предоставляемые ядром Друпала). Когда установлено TRUE, стандартное сообщение об ошибке определенное в user_admin_permissions() будет выведено через theme_user_permission_description() и будет связано с отображаемым разрешением на странице администрирования. По умолчанию значение restrict access это FALSE.

rss