Nestjs: контроль доступа на основе организации пользователя

Я пишу свой первый API с помощью NestJS и ищу умный способ управления доступом к ресурсам. У меня следующая упрощенная структура:

  • организация:

    • пользователи
    • продукты
  • пользователи:

    • Эл. адрес
    • организация
  • продукты:

    • организация
    • больше данных

Я использую стратегии Passport JWT и Local. Но я хочу убедиться, что только пользователи внутри организации могут обновлять и создавать продукты для этой организации.

Я посмотрел на nest-access-control, но не могу понять, можно ли его использовать для этого.

1 ответ

Вы можете создать третью таблицу под названием «memberOrganization» со следующими столбцами:

  • членыОрганизация
    • idMembersOrganization
    • идентификатор пользователя
    • IDОрганизация
    • idPermission

и четвертая таблица:

  • разрешения
    • idPermission
    • разрешение

Таким образом, вы можете проверить, является ли этот пользователь членом этой организации и какие разрешения у него есть (используя leftJoins). В зависимости от разрешения вы разрешаете создание таких продуктов.

Холпе это помогает.

Другие вопросы по тегам