Розуміння користувальницьких прав доступу в OpenCart

19

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

Я припускаю, що ви використовуєте останню версію OpenCart. Ми почнемо з базового введення в ресурси і дозволу.

Розуміння ресурсів і дозволів

У будь-якій системі контролю доступу (ACL) існують два важливих об’єкта — дозволу і ресурси. Ресурси піддаються певним дозволів для груп користувачів, щоб ті могли виконувати різні дії над ресурсами. Звичайно, кожна система має свій власний спосіб організації ресурсів і дозволів.

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

Ресурси

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

Розуміння користувальницьких прав доступу в OpenCart

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

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

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

Перейдіть до частини back-end і виберіть System > Users > User Groups. Відредагуйте одну з груп користувачів — наприклад, відредагуємо групу Administrator.

Розуміння користувальницьких прав доступу в OpenCart

Тепер, як ви можете бачити, всі ресурси перераховані в розкривному списку. Природно, якщо ви створите новий файл контролера для свого настроюваного модуля, він також буде видно.

Отже, це базове уявлення про ресурси. Далі ми побачимо, як ресурси пов’язані з дозволами.

Права доступу

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

Розуміння користувальницьких прав доступу в OpenCart

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

Створення нової групи користувачів і призначення дозволів

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

Розуміння користувальницьких прав доступу в OpenCart

Натисніть на +, щоб додати нову групу користувачів.

Розуміння користувальницьких прав доступу в OpenCart

Розуміння користувальницьких прав доступу в OpenCart

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

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

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

Введіть ім’я групи користувачів, виберіть ресурси для кожного доступу до дозволу,настройте і все готово. Збережіть групу, як тільки закінчите! Для демонстраційних цілей я вибрав для своєї Custom Group ресурс catalog/category.

Тестування групи Custom Group

Давайте швидко створимо нового користувача з back-end і призначимо нову створену групу користувачів цьому користувачеві. Перейдіть в System > Users > Users і клацніть +, щоб створити нового користувача.

Розуміння користувальницьких прав доступу в OpenCart

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

Розуміння користувальницьких прав доступу в OpenCart

Як перевірити, чи дозволений користувачеві доступ / зміна ресурсів

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

Відкрийте 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

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

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

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