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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы