GlosarioRouting

¿Qué es Middleware?

Los Middleware en Laravel son filtros HTTP que inspeccionan y modifican las peticiones entrantes y salientes de la aplicacion, permitiendo ejecutar logica antes o despues de que una peticion llegue al controlador.

Middleware

Los middleware proporcionan un mecanismo para filtrar las peticiones HTTP que entran en tu aplicacion. Por ejemplo, Laravel incluye un middleware que verifica si el usuario esta autenticado. Si no lo esta, el middleware redirige al usuario a la pantalla de login.

Crear un middleware

php artisan make:middleware EnsureUserIsAdmin
class EnsureUserIsAdmin
{
    public function handle(Request $request, Closure $next): Response
    {
        if (! $request->user()?->is_admin) {
            abort(403, 'No tienes permisos de administrador.');
        }

        return $next($request);
    }
}

Registrar y usar middleware

En Laravel 11+, los middleware se registran en bootstrap/app.php. Puedes asignar middleware a rutas individuales, grupos de rutas o de forma global.

// En routes/web.php
Route::get('/admin', AdminController::class)->middleware('admin');

// En un grupo
Route::middleware(['auth', 'admin'])->group(function () {
    Route::get('/admin/dashboard', [AdminController::class, 'dashboard']);
});

Los middleware son fundamentales para manejar autenticacion, CORS, rate limiting, logging y cualquier logica que deba ejecutarse en cada peticion de forma transversal.