Я выполняю рефакторинг API Node.js, который в настоящее время имеет следующий поток:
- Пользователь выбирает от 3 до n ресурса A в форме.
- При отправке формы отправляется запрос на создание ресурса B.
- Ресурс B может быть создан только в том случае, если пользователь имеет доступ READ к выбранному ресурсу As.
- API отвечает 403, если это условие не было выполнено, или созданным ресурсом B, если оно было.
Моя первая мысль состоит в том, что параметры в выборе для шага 1 должны быть отфильтрованы к тому, что имеет пользователь доступ к. Тем не менее, я все еще хотел бы убедиться, что, если у заданных опций для ресурса A, к которым у пользователя нет доступа, API все равно будет известно об этом ограничении.
Моя вторая мысль: какой метод контроля доступа лучше всего подходит для этого подхода (или потенциально лучшего подхода)? Я чувствую, что RBA C не будет работать здесь, потому что ресурс B связан с доступом READ своих «родительских» ресурсов.