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.