Должна ли конечная точка возвращать записи, для которых у пользователя есть разрешения или они запрещены - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть сценарий, в котором мои пользователи владеют созданными ими сущностями, но у них может быть несколько разрешений для типа сущности, например:

1002 * read-my-entity - доступ к принадлежащим сущностям read-all-entity - доступ ко всем объектам

Существует несколько конечных точек для различных объектов, таких как task , request все с этимсобственный набор конечных точек и разрешений

Существует конечная точка REST, которая может возвращать коллекцию этих объектов, и она имеет фильтр employeeId, но это необязательно

GET /entities/?employeeId=X&otherfilters=Y

Каждый пользователь имеет EmployeeId вsystem.

Я вижу два варианта, как это сделать, если у пользователя есть разрешение только на чтение-мою-сущность и он не указывает employeeId:

  1. возвращает только принадлежащие сущности
  2. возврат HTTP 403 запрещен или что-то подобное, и сообщение о том, что вам нужно указать employeeId

Каким-то образом второй вариант мне кажется лучше

Я знаю, что это, вероятно,продуманный вопрос, но

  1. Есть ли лучшая практика, как справиться с этим?
  2. Какие есть лучшие варианты?
  3. Каковы плюсы / минусы этих подходов?

1 Ответ

0 голосов
/ 17 сентября 2018

Если ваша конечная точка имеет необязательное поле employeeId, вы должны вернуть ее собственные сущности.

...