Функция Twig для проверки уровня доступа пользователя в Grav CMS
Проверка уровня доступа, зарегистрированного на веб-сайте пользователя, может быть выполнена в шаблоне оформления страницы при помощи одной функции Grav CMS.
Это функция Twig authorize()
, добавленная в Grav CMS версии 0.9.41, предназначена специально для упрощения реализации логики предоставления или ограничения доступа пользователей веб-сайта к ресурсам с ограниченным доступом.
В качестве параметра функция authorize()
принимает строку разрешения или массив строк разрешений, соответствующих проверяемым уровням прав доступа зарегистрированного на веб-сайте пользователя.
Функция возвращает значение true
, если права доступа пользователя соответствуют переданной строке или одному из значений, содержащихся в переданном массиве. Иначе функция возвращает значение false
.
Пример использования функции authorize()
со строкой разрешений:
<h3>User access level:</h3>
{% if authorize('admin.super') %}
admin.super
{% elseif authorize('site.login') %}
site.login
{% else %}
no access
{% endif %}
Пример использования функции authorize()
с массивом строк разрешений:
<h3>User access level:</h3>
{% if authorize(['admin.super', 'site.login']) %}
admin.super or site.login
{% else %}
no access
{% endif %}
Как видно из примеров, зная о функции authorize()
, реализация управление доступом пользователей к ресурсам веб-сайта становится проще.