У меня есть сценарий, в котором мои пользователи владеют созданными ими сущностями, но у них может быть несколько разрешений для типа сущности, например:
1002 * read-my-entity - доступ к принадлежащим сущностям read-all-entity - доступ ко всем объектам
Существует несколько конечных точек для различных объектов, таких как task , request все с этимсобственный набор конечных точек и разрешений
Существует конечная точка REST, которая может возвращать коллекцию этих объектов, и она имеет фильтр employeeId, но это необязательно
GET /entities/?employeeId=X&otherfilters=Y
Каждый пользователь имеет EmployeeId вsystem.
Я вижу два варианта, как это сделать, если у пользователя есть разрешение только на чтение-мою-сущность и он не указывает employeeId:
- возвращает только принадлежащие сущности
- возврат HTTP 403 запрещен или что-то подобное, и сообщение о том, что вам нужно указать employeeId
Каким-то образом второй вариант мне кажется лучше
Я знаю, что это, вероятно,продуманный вопрос, но
- Есть ли лучшая практика, как справиться с этим?
- Какие есть лучшие варианты?
- Каковы плюсы / минусы этих подходов?