Перейти к основному содержимому

Роли пользователей и доступ к брендам

Раздел: Общие возможности

Что это​

У каждого пользователя «Оптимы» ровно одна роль. Роль определяет, какие разделы видны в боковом меню и с какими кабинетами Wildberries можно работать.

РольКодЧто может
АдминистраторadminВидит и меняет все кабинеты WB и данные всех пользователей инсталляции. Единственный, кому доступен раздел «Администрирование»: пользователи и роли, доступы к брендам, журнал аудита.
СеллерsellerРоль по умолчанию при регистрации. Подключает свои кабинеты WB и работает во всех модулях по своим кабинетам и брендам.
Менеджер (менеджер маркетплейсов)managerВ текущей версии работает так же, как Селлер: только с кабинетами WB, которые подключил сам. Администратор может выдать ему явный доступ к брендам (см. ниже), но пока этот доступ почти ни на что не влияет.

Почти все рабочие модули (оцифровка, цены, репрайсер, автобиддер, РНП, автоответы, бронировщик, товарный учёт и т. д.) доступны всем трём ролям одинаково. Различие — в объёме данных: Селлер и Менеджер видят только свои кабинеты, Администратор — все.

Исключения по ролям:

  • раздел «Администрирование» (пользователи, доступы к брендам, журнал аудита) — только Администратор;
  • добавление материалов в базу знаний — Администратор и Селлер (Менеджеру недоступно).

Где найти​

Пункты бокового меню группы «Администрирование» (видны только Администратору):

  • «Пользователи» — /app/admin/users;
  • «Доступы к брендам» — /app/admin/brand-access;
  • «Журнал аудита» — /app/admin/audit (см. отдельную страницу).

Свою роль любой пользователь видит в разделе «Профиль» (/app/settings/profile).

Как пользоваться​

Посмотреть пользователей​

Раздел «Пользователи» показывает всех зарегистрированных: имя, email, текущую роль и дату регистрации. Есть поиск по email или имени и фильтр «Все роли / Администратор / Селлер / Менеджер». Список постраничный.

Сменить роль​

  1. В строке пользователя в колонке «Назначение роли» выберите новую роль.
  2. Появится сообщение «Роль пользователя обновлена».

Что происходит при смене роли:

  • все сессии пользователя автоматически завершаются — продлить вход со старой ролью нельзя;
  • уже открытое у пользователя приложение может работать со старой ролью ещё до 15 минут, после чего потребуется войти заново — и роль применится;
  • смена записывается в журнал аудита.

Собственную роль администратор в интерфейсе изменить не может («Нельзя изменить собственную роль»).

Завершить сессии пользователя​

Кнопка «Завершить сессии» в строке пользователя завершает все его сессии на всех устройствах (например, при увольнении или подозрении на взлом). Пользователь не сможет продлить вход; текущий сеанс доживёт максимум 15 минут. Пользователь может сделать то же самое сам — кнопкой «Выйти на всех устройствах» (см. «Вход в систему»).

Выдать менеджеру доступ к бренду​

  1. Сначала назначьте пользователю роль Менеджер в разделе «Пользователи» — в разделе «Доступы к брендам» выбирать можно только менеджеров.
  2. Откройте «Доступы к брендам», выберите менеджера.
  3. В форме «Выдать доступ» выберите «Кабинет WB» и «Бренд» и нажмите «Выдать доступ». Бренды появляются в списке после синхронизации каталога кабинета.
  4. Текущие доступы видны в таблице «Текущие доступы». Кнопка «Отозвать» снимает доступ сразу.

Ограничения​

  • Доступ к брендам пока почти не работает на практике. Менеджер не может открыть чужой кабинет 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 — модель безопасности сессий.