Понятие разрешений пользователя в OpenCart

Понятие разрешений пользователя в OpenCart

От автора: как администратор какой-либо системы, вы всегда хотели бы иметь возможность отдать некоторые функции группе доверенных пользователей, что позволит настроить рабочий процесс и бесшовно обслуживать сайт, избавившись от ненужного напряжения. Сегодня мы узнаем, какие ресурсы есть в OpenCart, а также как предоставить группе пользователей определенные разрешения на эти ресурсы. Мы рассмотрим работу этих функций со стороны back-end’а, а в последней части статьи узнаем про различные группы пользователей.

Предполагается, что вы работаете в последней версии OpenCart. А начнем мы с введения в ресурсы и разрешения.

Понятие ресурсов и разрешений

В любой системе Access Control List (ACL) есть две важных вещи – разрешения и ресурсы. Ресурсы связаны с определенными ресурсами группы пользователей, и пользователи могут выполнять различные действия с этими ресурсами. В каждой системе ресурсы и разрешения представлены по-своему.

В этом разделе мы рассмотрим данные понятия в контексте OpenCart.

Ресурсы

Вы будете удивлены, но под ресурсами в панели администратора понимаются все файлы контроллера. Ресурс «catalog/attribute» ссылается к файлу admin/controller/catalog/attribute.php. А следовательно, всякий раз во время привязки данного ресурса к любой группе пользователей, пользователи смогут выполнять все действия, описанные в соответствующем файле контроллера.

Зайдите в панель администратора в System > Users > User Groups. Давайте отредактируем группу Administrator, к примеру.

На рисунке видно, что все ресурсы расположены в выпадающем боксе. Если создать новый контроллер для пользовательского модуля, он будет добавлен в этот бокс и выделен галочкой. Это было введение в понятие ресурсов. В следующем разделе мы увидим, как ресурсы ассоциируются с разрешениями.

Разрешения

В OpenCart разрешения поделены на два основные категории – разрешения доступа (access) и разрешения модификации (modify). Пользователи, у которых есть только разрешения доступа, могут просматривать ресурсы, а пользователи с разрешением на модификацию могут добавлять/редактировать информацию в ресурсах.

Это было быстрое введение в понятия ресурсов и разрешений. В следующих разделах мы увидим, как они используются в паре с группами пользователей.

Создаем новую группу пользователей и назначаем ей разрешения

Вы уже знакомы с общими понятиями разрешений и ресурсов. Теперь мы создадим новую группу пользователей и продемонстрируем, как они работают вместе. Перейдите в панель администратора в System > Users > User Groups. Вы увидите список групп пользователей по умолчанию в OpenCart.

Для создания новой группы пользователей кликните на иконку +.

Введите название группы пользователей, выберите ресурсы для разрешений доступа и модификации. Как закончите, сохраните группу. Для примера я выбрал только ресурсы catalog/category для созданной мной группы Custom Group.

Тестируем группу пользователей Custom

Теперь через панель администратора создадим нового пользователя и добавим его в нашу новую группу. Перейдите в System > Users > Users и кликните на иконку + для создания нового пользователя.

Заполните необходимые поля – обратите внимание на поле User Group, там я выбрал Custom Group. Сохраните пользователя и зайдите из-под него в систему. Попробуйте зайти в секции, закрытые группе Custom Group. Вы получите ошибку доступа!

Как проверить доступные пользователю ресурсы доступа и модификации

В этом разделе вы узнаете, как проверить доступ или модификацию на определенный ресурс для пользователя. Код ниже вы встретите в большинстве файлов контроллеров панели администратора. Этот код проверяет подлинность пользователя перед тем, как разрешить ему доступ на какие-либо привилегированные действия.

Откройте файл upload/admin/controller/catalog/product.php.

if (!$this->user->hasPermission('modify', 'catalog/product')) {
    $this->error['warning'] = $this->language->get('error_permission');
}

Код выше можно встретить в разных местах. Данный код проверяет, имеет ли авторизованный пользователь разрешения на модификацию ресурса «catalog/product».

А по сути, данный код проверяет группу авторизованных пользователей, и имеет ли эта группа разрешения на модификацию заданного ресурса.

Таким образом, с помощью данного кода можно проверять разрешения пользователя на выполнение любых действий с ресурсами. Идеальный сценарий это создать несколько групп пользователей и назначить им разные разрешения в зависимости от требований.

Заключение

Сегодня мы рассмотрели ресурсы и разрешения в OpenCart. Мы начали с основных понятий и в конце узнали, как по максимуму выжать потенциал из групп пользователей в комбинации с ресурсами и разрешениями.

Закончили статью мы кодом, с помощью которого можно проверить разрешения на доступ и модификацию определенных ресурсов для авторизованного пользователя.

На сегодня все. Не забывайте делиться своими мнениями и задавать вопросы в комментариях!

Автор: Sajal Soni

Источник: http://code.tutsplus.com/

Редакция: Команда webformyself.

Интернет-магазин на Joomla

Изучите пошаговое руководство по созданию интернет-магазинов на Joomla

Научиться

Метки:

Комментарии Вконтакте:

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree