Делается некоторый rest api.
Авторизация по токену. Авторизацию проверяем с помощью middleware
В итоге в контейнере
$this->container->get('auth_user')
у нас есть текущий пользователь.
Например есть такой код (методов будет много):
$app->group('/books', function (Group $group) {
$group->post('/getList', BooksController::class . ':getList')->setName('getList');
$group->post('/getList2', BooksController::class . ':getList2')->setName('getList2');
});
У пользователя есть роль. Определенные методы должны быть доступны для определенных пользователей.
Сейчас в контроллере у меня задан список методов и роли, которым они доступны.
В начале каждого метода происходит проверка типа:
if($this->CheckPermissions($request, $response)){
// действия метода
$response->getBody()->write("List books");
return $response;
}else{
// возврат ошибки доступа
return $this->PermissonsError($request, $response);
}
Как сделать общую проверку?