Проблема структурирования кода разрешений (ACL) - PullRequest
0 голосов
/ 18 апреля 2019

У меня проблема с тем, чтобы структурировать код для проверки прав доступа.

Предположим, у меня есть три действия: read:own_users, read:my_users,read:all_users.

И у меня есть маршрут get/users.

Я хочу, чтобы этот маршрут возвращал всех пользователей, если парень, который делает этоВ запросе есть read:all_users.Но если у него есть только разрешение read:my_users, этот маршрут должен возвращать только тех пользователей, которых этот парень вставил.И последняя возможность, если у пользователя просто есть разрешение read:own_users, я хочу, чтобы этот маршрут возвращал только ваш собственный объект.

Итак, я хочу решить: как это сделатьбез использования переключателя в моем коде для каждого маршрута, вставляя где-то в моем SQL.

Или, может быть, я делаю это неправильно, и мне нужно спланировать все вещи, пробуя новую стратегию.

...