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