Проверить заданный permission у пользователя в Drupal

В Drupal (7) новые флажки — права пользователей добавляются через hook модуля MODULENAME_permission.

В зацепке вы формируете массив описаний прав, который возвращаете при выходе из функции. Пример:

После того, как вы создали в своём модуле дополнительные права (permissions), в коде вы можете использовать функцию API user_access() для проверки флажка.

Если требуется проверить не текущего пользователя, а какого то другого, то объект $user, нужно передать вторым параметром в user_access().

Система прав в Drupal построена на основе ролей, права выдаются не напрямую пользователям, а в соответствии с их ролями. Потому чтобы выдать permissions пользователю, надо отредактировать набор прав выданной ему роли.

/admin/people/permissions/roles

Мало букафф? Читайте есчо !

Работаем с репозиторием модулей Drupal

Апрель 5, 2017 г.

Давно уже работаю с Drupal, но все никак не мог собраться и найти время, чтобы разобраться с работой репозитория модулей. Определенным препятствием была ...

Читать

Рендер ссылки в Drupal 9

Август 5, 2021 г.

В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого "наследника" устаревшей функции нет. Чтобы получить примерно тот же функционал придется ...

Читать

Организуем автодеплой изменений из репозитория для проекта на Drupal

Август 23, 2018 г.

Когда над проектом работает несколько разработчиков, то возникают определенные структурные и организационные вопросы. Каждый программист обычно работает ...

Читать

Изменить http код ответа для кастомной страницы

Октябрь 30, 2023 г.

Когда вы создаёте свою страницу, используя контроллер, то возможности тут же выбрать какой код ответа она возвращает нет. Контроллер занимается только формированием содержания страницы. Таким образом, страница возвращается с кодом 200. Что делать, ...

Читать
 

Комментарии к «Проверить заданный permission у пользователя в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: