Роль администратора Laravel 8 через MIDDLEWARE
Привет. Допустим есть проект для которого нужно создать административную часть и при этом проект простой, и для него не требуется куча ролей. Да можно поставить специальные пакеты от ларки, но они громоздкие с кучей кода, для простых проектов это не всегда разумно, по этому есть другое решение. Я уже писал статью, как устанавливать Laravel 8, можете ознакомиться.
Настройка БД
Заходим в ларки в миграции и выбираем таблицу пользователей. Создаем новую колонку с названием admin и указываем, что она может быть нулем, ну т.е. не заполнена. Т.е. при создании нового пользователя будет всегда 0, если поменять на 1 то будут права администратора.
Теперь набираем в консоле:
php artisan migrate:fresh
После чего можно заглянуть в БД и убедиться что новый столбец добавился.
Настройка Middleware
Переходим в терминал и набираем следующею команду:
php artisan make:middleware Admin
Затем переходим в app/Http/Middleware/Admin.php
И там прописываем логику, как будет управлять все это дело.
Если у нас авторизованный пользователь с правами администратора (1), то пускаем его, иначе пересылаем в home или еще куда.
admin — это название столбца в БД.
Настройка Kernel
Открываем /Http/Kernel.php и добавляем строчку в конце файла как показано на скриншоте.
Добавляем роуты
Переходим в routes/web.php и добавляем маршруты как показано на скриншоте.
На этом все.
Предыдущая
php artisan make:middleware Admin
Спасибо, поправил