Роли пользователей и доступ к брендам
Раздел: Общие возможности
Что это
У каждого пользователя «Оптимы» ровно одна роль. Роль определяет, какие разделы видны в боковом меню и с какими кабинетами Wildberries можно работать.
| Роль | Код | Что может |
|---|---|---|
| Администратор | admin | Видит и меняет все кабинеты WB и данные всех пользователей инсталляции. Единственный, кому доступен раздел «Администрирование»: пользователи и роли, доступы к брендам, журнал аудита. |
| Селлер | seller | Роль по умолчанию при регистрации. Подключает свои кабинеты WB и работает во всех модулях по своим кабинетам и брендам. |
| Менеджер (менеджер маркетплейсов) | manager | В текущей версии работает так же, как Селлер: только с кабинетами WB, которые подключил сам. Администратор может выдать ему явный доступ к брендам (см. ниже), но пока этот доступ почти ни на что не влияет. |
Почти все рабочие модули (оцифровка, цены, репрайсер, автобиддер, РНП, автоответы, бронировщик, товарный учёт и т. д.) доступны всем трём ролям одинаково. Различие — в объёме данных: Селлер и Менеджер видят только свои кабинеты, Администратор — все.
Исключения по ролям:
- раздел «Администрирование» (пользователи, доступы к брендам, журнал аудита) — только Администратор;
- добавление материалов в базу знаний — Администратор и Селлер (Менеджеру недоступно).
Где найти
Пункты бокового меню группы «Администрирование» (видны только Администратору):
- «Пользователи» —
/app/admin/users; - «Доступы к брендам» —
/app/admin/brand-access; - «Журнал аудита» —
/app/admin/audit(см. отдельную страницу).
Свою роль любой пользователь видит в разделе «Профиль» (/app/settings/profile).
Как пользоваться
Посмотреть пользователей
Раздел «Пользователи» показывает всех зарегистрированных: имя, email, текущую роль и дату регистрации. Есть поиск по email или имени и фильтр «Все роли / Администратор / Селлер / Менеджер». Список постраничный.
Сменить роль
- В строке пользователя в колонке «Назначение роли» выберите новую роль.
- Появится сообщение «Роль пользователя обновлена».
Что происходит при смене роли:
- все сессии пользователя автоматически завершаются — продлить вход со старой ролью нельзя;
- уже открытое у пользователя приложение может работать со старой ролью ещё до 15 минут, после чего потребуется войти заново — и роль применится;
- смена записывается в журнал аудита.
Собственную роль администратор в интерфейсе изменить не может («Нельзя изменить собственную роль»).
Завершить сессии пользователя
Кнопка «Завершить сессии» в строке пользователя завершает все его сессии на всех устройствах (например, при увольнении или подозрении на взлом). Пользователь не сможет продлить вход; текущий сеанс доживёт максимум 15 минут. Пользователь может сделать то же самое сам — кнопкой «Выйти на всех устройствах» (см. «Вход в систему»).
Выдать менеджеру доступ к бренду
- Сначала назначьте пользователю роль Менеджер в разделе «Пользователи» — в разделе «Доступы к брендам» выбирать можно только менеджеров.
- Откройте «Доступы к брендам», выберите менеджера.
- В форме «Выдать доступ» выберите «Кабинет WB» и «Бренд» и нажмите «Выдать доступ». Бренды появляются в списке после синхронизации каталога кабинета.
- Текущие доступы видны в таблице «Текущие доступы». Кнопка «Отозвать» снимает доступ сразу.
Ограничения
- Доступ к брендам пока почти не работает на практике. Менеджер не может открыть чужой кабинет WB даже при выданном доступе к его бренду: список кабинетов и все модули по-прежнему ограничены кабинетами, которые менеджер подключил сам. Расширение «менеджер работает в чужом кабинете по выданным брендам» в коде не реализовано.
- Повторная выдача после отзыва невозможна. Если доступ к бренду отозвали, выдать его тому же менеджеру ещё раз нельзя — сервер вернёт ошибку «Доступ ранее был отозван»; восстановления отзыва тоже нет.
- Одна роль на пользователя, совмещения нет.
- Нет «организаций». Администратор видит все кабинеты и всех пользователей инсталляции, а не только своей компании.
- Первого администратора назначают вручную на сервере (в базе данных) — через интерфейс его создать нельзя, при регистрации всегда выдаётся роль Селлер.
Связанные страницы
Для интеграторов
GET /users(поискsearch, фильтрrole),PATCH /auth/users/{userId}/role,POST /auth/users/{userId}/revoke-sessions— толькоadmin.POST /brand-access,GET /brand-access?userId=…,DELETE /brand-access/{id}— толькоadmin.- Ограничение по роли задаётся декоратором
@Roles(...); сейчас он стоит только на эндпоинтах пользователей/ролей/сессий, доступов к брендам, журнала аудита и на добавлении материалов базы знаний. Скоуп «свои кабинеты» — фильтрowner_user_idв сервисах. - Доступ к брендам (
BrandAccessService) сейчас учитывается в списке брендов каталога, витрине РНП и базе знаний. - Матрица прав —
backend/docs/rbac-matrix.md; подробности — справочник API. - ADR: 0004 — хранение роли и JWT, 0043 — модель безопасности сессий.