Filter HTTP requests with middleware for authentication, logging, CORS, and rate limiting.
Middleware
php artisan make:middleware CheckAge
namespace AppHttpMiddleware;
use Closure;
use IlluminateHttpRequest;
class CheckAge {
public function handle(Request $request, Closure $next, int $minAge = 18) {
if (auth()->user()->age < $minAge) {
abort(403, "Too young");
}
return $next($request); // pass to next middleware
}
}
// Register in bootstrap/app.php (Laravel 11)
->withMiddleware(function ($m) {
$m->alias(["check.age" => CheckAge::class]);
})
// Apply to routes
Route::get("/adult", fn() => "OK")->middleware("check.age:18");