Таблица oc_user_group
Таблица oc_user_group является ключевым элементом системы управления доступом в админ-панели OpenCart. Она определяет группы, к которым могут принадлежать администраторы, и служит основой для назначения прав доступа к различным разделам и функциям.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
user_group_id |
int |
Уникальный идентификатор группы пользователей. Автоинкрементное поле. |
name |
varchar(64) |
Название группы пользователей (например, "Администраторы", "Модераторы", "Редакторы"). |
permission |
text |
Права доступа группы в формате сериализованного PHP-массива. Содержит список контроллеров (разделов админ-панели), к которым есть доступ у данной группы. |
Как это работает
При создании нового администратора в системе ему назначается одна или несколько групп из таблицы oc_user_group. Связь между пользователями и группами устанавливается через таблицу oc_user, где поле user_group_id содержит ID группы.
Поле permission хранит сериализованный массив путей к контроллерам админ-панели (например, catalog/product, sale/order). При попытке пользователя получить доступ к определенному разделу система проверяет, есть ли соответствующий контроллер в списке прав его группы.
Группа "Администраторы" (обычно с user_group_id = 1) по умолчанию имеет полный доступ ко всем разделам. Её права обычно содержат запись access и modify для всех контроллеров.
Система прав в OpenCart работает по принципу "все, что не разрешено - запрещено". Если контроллер не указан в поле permission группы, пользователи этой группы не смогут получить к нему доступ.
Пример SQL-запроса
Посмотреть список всех групп пользователей и их прав можно следующим запросом:
SELECT user_group_id, name, permission
FROM oc_user_group;
Создание новой группы пользователей с ограниченными правами:
INSERT INTO oc_user_group (name, permission)
VALUES ('Редакторы товаров', 'a:2:{s:6:\"access\";a:2:{i:0;s:16:\"catalog/product\";i:1;s:16:\"catalog/category\";}s:6:\"modify\";a:2:{i:0;s:16:\"catalog/product\";i:1;s:16:\"catalog/category\";}}');
Смотрите также
-
таблицу
oc_user,
которая хранит учетные записи администраторов -
таблицу
oc_customer_group,
которая хранит группы покупателей -
таблицу
oc_api,
которая хранит ключи API для доступа к системе