Skip to main content

Was ist Middleware

Middleware ist ein Mechanismus, mit dem eingehende HTTP-Anfragen geprüft und gefiltert werden. Sie können Logik vor und nach dem Controller einschieben. Beispielsweise enthält Laravel eine Authentifizierungs-Middleware. Ist der Nutzer nicht angemeldet, leitet sie zur Login-Seite um; ist er angemeldet, wird die Anfrage in die Anwendung weitergegeben. Neben Authentifizierung sind Middleware ideal für Logging, CSRF-Schutz, Rate Limiting und vieles mehr. Details zum CSRF-Schutz in Laravel 13 finden Sie unter CSRF-Schutz.
Ihre eigenen Middleware legen Sie üblicherweise unter app/Http/Middleware ab.

Mitgelieferte Middleware

Laravel bringt standardmäßig zwei Middleware-Gruppen mit: web und api. Die Gruppe web wird auf routes/web.php, api auf routes/api.php angewendet. Häufig verwendete Middleware sind über Aliase mit kurzen Namen ansprechbar.

Middleware erstellen

Neue Middleware erzeugen Sie mit make:middleware.
Es entsteht die Datei app/Http/Middleware/EnsureTokenIsValid.php. Die Verarbeitungslogik schreiben Sie in die Methode handle.
Der Aufruf von $next($request) reicht die Anfrage an die nächste Ebene weiter. Trifft eine Bedingung nicht zu, geben Sie einen Redirect oder eine andere Antwort zurück, um die Kette zu stoppen.

Vor- und Nachverarbeitung

Middleware kann vor oder nach dem Request Logik ausführen.

Middleware registrieren

Globale Middleware

Um Middleware auf alle Anfragen anzuwenden, ergänzen Sie sie in bootstrap/app.php über withMiddleware im globalen Stack.
append fügt am Ende des Stacks hinzu, prepend am Anfang.

Middleware auf Routen anwenden

Für einzelne Routen rufen Sie in der Definition die Methode middleware auf.
Mehrere Middleware übergeben Sie als Array.
Zum Ausschluss einer Middleware auf einer bestimmten Route dient withoutMiddleware.

Middleware-Aliase

Für lange Klassennamen können Sie Aliase definieren – in bootstrap/app.php.
Und in Routen verwenden:

Middleware-Gruppen

Mehrere Middleware können unter einem Schlüssel gebündelt werden. Dazu verwenden Sie appendToGroup oder prependToGroup in bootstrap/app.php.
Gruppen wenden Sie wie einzelne Middleware auf Routen an.
Für die vorhandenen Gruppen web und api stehen eigene Methoden bereit.

Middleware-Parameter

Middleware kann zusätzliche Parameter aufnehmen. Nach $next in der handle-Methode können weitere Parameter folgen.
In der Route trennen Sie Middleware-Namen und Parameter mit :.
Mehrere Parameter trennen Sie mit Komma.

Beispiel: Auth-Check-Middleware

Ein einfaches Beispiel, das nicht angemeldete Nutzer umleitet.
Anwendung auf eine Route:
Laravel bringt bereits die Middleware auth für Authentifizierung mit. Prüfen Sie zuerst, ob eine vorhandene Middleware Ihre Anforderungen erfüllt.

Nächste Schritte

HTTP-Requests

Lernen Sie, wie Sie in Controllern Anfragedaten empfangen.
Zuletzt geändert am 13. Juli 2026