Поняття дозволів користувача в OpenCart

15

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

Передбачається, що ви працюєте в останній версії OpenCart. А почнемо ми з введення в ресурси і дозволу.

Поняття ресурсів і дозволів

У будь-якій системі Access Control List (ACL) є дві важливі речі – дозволу і ресурси. Ресурси пов’язані з певними ресурсами групи користувачів, і користувачі можуть виконувати різні дії з цими ресурсами. В кожній системі ресурси і дозволу представлені по-своєму.

У цьому розділі ми розглянемо дані поняття в контексті OpenCart.

Ресурси

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

Поняття дозволів користувача в OpenCart

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

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

Поняття дозволів користувача в OpenCart

На малюнку видно, що всі ресурси розташовані в випадаючому боксі. Якщо створити новий контролер для інтерфейсу модуля, він буде доданий в цей бокс і виділений галочкою. Це було введення у поняття ресурсів. В наступному розділі ми побачимо, як ресурси асоціюються з дозволами.

Дозволу

В OpenCart дозволу поділені на дві основні категорії – дозволу доступу (access) та дозволу модифікації (modify). Користувачі, у яких є тільки права доступу, можуть переглядати ресурси, а користувачі з дозволом на модифікацію можуть додавати/редагувати інформацію в ресурсах.

Поняття дозволів користувача в OpenCart

Це було швидке введення в поняття ресурсів і дозволів. У наступних розділах ми побачимо, як вони використовуються в парі з групами користувачів.

Створюємо нову групу користувачів і призначаємо їй дозволу

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

Поняття дозволів користувача в OpenCart

Для створення нової групи користувачів клікніть на іконку +.

Поняття дозволів користувача в OpenCart

Поняття дозволів користувача в OpenCart

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

Введіть назву групи користувачів, виберіть ресурси для дозволів доступу і модифікації. Як закінчите, збережіть групу. Для прикладу я вибрав тільки ресурси catalog/category для створеної мною групи Custom Group.

Тестуємо групу користувачів Custom

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

Поняття дозволів користувача в OpenCart

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

Поняття дозволів користувача в OpenCart

Як перевірити доступні користувачеві ресурси доступу і модифікації

У цьому розділі ви дізнаєтеся, як перевірити доступ або модифікацію на певний ресурс для користувача. Код нижче ви зустрінете в більшості файлів контролерів панелі адміністратора. Цей код перевіряє справжність користувача перед тим, як дозволити йому доступ на які-небудь привілейовані дії.

Відкрийте файл upload/admin/controller/catalog/product.php.

if (!$this->user->hasPermission(‘змінити’, ‘catalog/product’)) {
$this->error[‘warning’] = $this->language->get(‘error_permission’);
}

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

А по суті, даний код перевіряє групу авторизованих користувачів і має ця група дозволу на модифікацію заданого ресурсу.

Таким чином, за допомогою цього коду можна перевіряти дозволу на виконання будь-яких дій з ресурсами. Ідеальний сценарій це створити кілька груп користувачів і призначити їм різні дозволи в залежності від вимог.

Висновок

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

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

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

Поняття дозволів користувача в OpenCart

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення