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

21 Авг 2019 в 06:58
116 +1
0
Ответы
1

Как правило, проверка разрешений обычно проводится в middleware или в политиках (policies) в Laravel. Однако, если у вас есть необходимость проверять разрешения непосредственно в методе контроллера, то это тоже возможно.

Подход с использованием Trait для добавления метода проверки разрешений во все контроллеры может быть эффективным, но обычно такие проверки лучше делать на уровне middleware или политик, чтобы различные части вашего приложения были более модульными и разделенными.

Если вы используете проверку разрешений непосредственно в методе контроллера, убедитесь, что это не усложняет ваш код и не делает его менее читаемым. Также не забывайте учитывать возможные изменения в правилах доступа и их обновления в вашем коде.

Если вы уверены, что такой подход подходит для вашего приложения и удовлетворяет его потребности, то продолжайте использовать его. Но не забывайте о других возможностях, которые предоставляет Laravel для управления доступом и разрешениями.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 887 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир