Коллеги, доброй ночи!
Есть практика проверки разрешений в методе контроллера?
Я об этом:
Метод в контроллере
public function delete()
{
$this->checkPermission($this->getRole('email'), Action::DELETE); // Проверка
...
}
Я подмешал в базовый контроллер методы проверки разрешений с помощью "Trait"
Теперь во всех контроллерах появился метод checkPermission
checkPermission принимает следующие параметры
1 - Роль
2 - Действие
То есть, в методе, который хотим проверить разрешение, а можно ли текущему юзеру использовать этот метод
Если да, то не мешаем
Если нет то из трейта кидаем исключение или сразу отдаём сообщение.