| 1234567891011121314151617181920212223242526272829303132 |
- <?php
- /*
- * EnsureUserIsAdmin — middleware защиты маршрутов только для администраторов.
- *
- * Создан: 2026-05-06
- * Регистрация: bootstrap/app.php → withMiddleware() → alias 'admin'
- * Используется: в routes/web.php для группы Route::middleware('admin')->group(...)
- *
- * Проверяет: авторизован ли пользователь И имеет ли флаг is_admin = true.
- * Если нет — редиректит на страницу входа /admin/login.
- */
- namespace App\Http\Middleware;
- use Closure;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Symfony\Component\HttpFoundation\Response;
- class EnsureUserIsAdmin
- {
- // Проверяет авторизацию и наличие роли (или legacy is_admin); отказ → форма входа
- public function handle(Request $request, Closure $next): Response
- {
- if (! Auth::check() || ! Auth::user()->isAdminUser()) {
- return redirect()->route('admin.login');
- }
- return $next($request);
- }
- }
|