в ней есть статистика, персонал и тд. Я хочу сделать систему прав, чтобы администратор мог давать например на просмотр работников права, на их едит или удаление или нового добавлять, например такие
CAMPAIGN_WORKERS_READ
CAMPAIGN_WORKERS_UPDATE
CAMPAIGN_WORKERS_DELETE
CAMPAIGN_WORKERS_CREATE
Где мне лучше сохранять такие права и как правильно проверять?
Например как-то так: CAMPAIGN_WORKERS_READ: [array userIds]?
Или так будет зашкварно?
Про RBAC/ABAC уже читал? Обычно в энтити юзера делают поле roles (если про RBAC). А у роли есть набор пермишнов
Ролей у меня 2, юзер и админ. Компания создается и в компании есть owner.
А в чем отличие юзера и админа? Думаю что некотором набором пермишинов А роль же и состоит из набора пермишинов Ну или я не так понял твой случай
Мб этот модуль подойдет? https://github.com/nestjsx/nest-access-control
Второй - главный админ сайта
Звучит как дополнительная таблица с релейшнами на юзера и компанию типа type: enum userId: id companyId: id Потом в каком-нибудь гуарде надо достать айдишники и проверить на наличие такой сущности в базе
ну я так и думал, говорят что это беда для монго
Вот ищу вариант, мне не обязательно даже на столько аж пермишены, может вообше какието роли сделать, аля кадровик, статист в компании, отдельынм масивом в компании, как у меня майстры в компании
Дать юзерам джсонину со списком прав и значениями boolean. Либо сделать таблицу permissions и смежную таблицу с юзерами
Обсуждают сегодня