Skip to main content

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-commando make:middleware maak je nieuwe middleware aan.
Dit genereert app/Http/Middleware/EnsureTokenIsValid.php. In de handle-methode schrijf je de logica die het request verwerkt.
Roep je $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 in bootstrap/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 methode middleware aan.
Meerdere middleware geef je door als array.
Wil je middleware voor een specifieke route juist uitsluiten, gebruik dan withoutMiddleware.

Middleware-aliassen

Je kunt voor lange klassenamen een korte alias definiëren. Dat doe je in bootstrap/app.php.
Met de alias pas je de middleware toe op routes.

Middlewaregroepen

Door meerdere middleware onder één sleutel te bundelen, wordt het toepassen op routes eenvoudiger. In bootstrap/app.php gebruik je appendToGroup of prependToGroup.
Groepen pas je op routes toe op dezelfde manier als gewone middleware.
Wil je middleware toevoegen aan de bestaande 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.
In de routedefinitie scheid je de middlewarenaam en de parameters met een :.
Meerdere parameters scheid je met komma’s.

Praktijkvoorbeeld: middleware voor een authenticatiecheck

Een eenvoudig voorbeeld dat niet-ingelogde gebruikers redirect.
Pas de middleware toe op een route.
Laravel heeft een ingebouwde auth-middleware voor authenticatie. Controleer voordat je zelf iets implementeert of de bestaande middleware al aan je eisen voldoet.

Volgende stappen

HTTP-requests

Leer hoe je in controllers requestdata ontvangt.
Laatst gewijzigd op 6 september 2026