Wat is middleware
Middleware is een mechanisme om binnenkomende HTTP-requests te inspecteren en te filteren. Je kunt logica invoegen vóór en na het moment waarop het request aan de controller wordt doorgegeven. Laravel bevat bijvoorbeeld authenticatiemiddleware. Is een gebruiker niet geauthenticeerd, dan wordt hij geredirect naar het inlogscherm; is hij dat wel, dan laat de middleware het request gewoon door naar de rest van de applicatie. Naast authenticatie kun je middleware maken voor allerlei doeleinden, zoals logging, CSRF-beveiliging en rate limiting. Zie CSRF-beveiliging voor details over de CSRF-bescherming in Laravel 13.Middleware die je zelf definieert plaats je gewoonlijk in de directory
app/Http/Middleware.Ingebouwde middleware
Laravel levert standaard twee middlewaregroepen:web en api.
Op routes/web.php wordt automatisch de web-groep toegepast en op routes/api.php de api-groep.
Voor veelgebruikte middleware zijn bovendien aliassen ingesteld, zodat je ze met een korte naam kunt refereren.
Middleware maken
Met het Artisan-commandomake:middleware maak je nieuwe middleware aan.
app/Http/Middleware/EnsureTokenIsValid.php.
In de handle-methode schrijf je de logica die het request verwerkt.
$next($request) aan, dan wordt het request doorgegeven aan de volgende stap in de applicatie.
Wordt niet aan de voorwaarde voldaan, dan stop je het request door een redirect of response terug te geven.
Verwerking vóór en na het request
Middleware kan logica uitvoeren vóór of na het request.Middleware registreren
Globale middleware
Wil je middleware uitvoeren voor alle requests, voeg die dan inbootstrap/app.php via withMiddleware toe aan de globale stack.
append voegt toe aan het einde van de stack. Gebruik prepend om aan het begin toe te voegen.
Middleware toepassen op routes
Om middleware alleen op specifieke routes toe te passen, roep je in de routedefinitie de methodemiddleware aan.
withoutMiddleware.
Middleware-aliassen
Je kunt voor lange klassenamen een korte alias definiëren. Dat doe je inbootstrap/app.php.
Middlewaregroepen
Door meerdere middleware onder één sleutel te bundelen, wordt het toepassen op routes eenvoudiger. Inbootstrap/app.php gebruik je appendToGroup of prependToGroup.
web- of api-groep, dan zijn daar speciale methoden voor.
Middlewareparameters
Middleware kan extra parameters ontvangen. Je voegt de parameters toe na het argument$next van de handle-methode.
:.
Praktijkvoorbeeld: middleware voor een authenticatiecheck
Een eenvoudig voorbeeld dat niet-ingelogde gebruikers redirect.Volgende stappen
HTTP-requests
Leer hoe je in controllers requestdata ontvangt.