Есть ли готовое решение для древовидного ACL, которое позволит получить список объектов, разрешенных пользователю для node.js?

Есть задача хранить многоуровневые списки объектов (таксономия, и к элементам таксономии привязаны объекты), и многоуровневые группы (в группы входят пользователи) и предоставлять права.

К примеру, можно дать право на элемент таксономии для родительской группы, и все члены дочерних групп должны получить права к объектам, привязанным к дочерним элементам таксономии.

К примеру, https://github.com/PrivateSky/acl-magic позовляет сделать такую вещь.

Но не приходит в голову, как при этом пойти от обратного, и показать для пользователся список объектов, на которые у него есть права.

Разумеется, вытащить все объекты из БД и по-одному проверить может сработать, но это совсем не оптимально.
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@eduha Автор вопроса
В итоге не найдя готового решения остановился на CASL и решил использовать mongodb. CASL имеет поддержку mongo, и решил хранить все родительские термины таксономии в документе. Заполняется массив родительских элементов через хук save в mongoose.

Указанный подход показал себя хорошо на выборках, но зато изменение структуры стало очень болезненным процессом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы