Nestjs: контроль доступа на основе организации пользователя
Я пишу свой первый API с помощью NestJS и ищу умный способ управления доступом к ресурсам. У меня следующая упрощенная структура:
организация:
- пользователи
- продукты
пользователи:
- Эл. адрес
- организация
продукты:
- организация
- больше данных
Я использую стратегии Passport JWT и Local. Но я хочу убедиться, что только пользователи внутри организации могут обновлять и создавать продукты для этой организации.
Я посмотрел на nest-access-control, но не могу понять, можно ли его использовать для этого.
1 ответ
Вы можете создать третью таблицу под названием «memberOrganization» со следующими столбцами:
- членыОрганизация
- idMembersOrganization
- идентификатор пользователя
- IDОрганизация
- idPermission
и четвертая таблица:
- разрешения
- idPermission
- разрешение
Таким образом, вы можете проверить, является ли этот пользователь членом этой организации и какие разрешения у него есть (используя leftJoins). В зависимости от разрешения вы разрешаете создание таких продуктов.
Холпе это помогает.