dimayakovlev.ru


Функция 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(), реализация управление доступом пользователей к ресурсам веб-сайта становится проще.