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 mitmake:middleware.
app/Http/Middleware/EnsureTokenIsValid.php.
Die Verarbeitungslogik schreiben Sie in die Methode handle.
$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 inbootstrap/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 Methodemiddleware auf.
withoutMiddleware.
Middleware-Aliase
Für lange Klassennamen können Sie Aliase definieren – inbootstrap/app.php.
Middleware-Gruppen
Mehrere Middleware können unter einem Schlüssel gebündelt werden. Dazu verwenden SieappendToGroup oder prependToGroup in bootstrap/app.php.
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.
:.
Beispiel: Auth-Check-Middleware
Ein einfaches Beispiel, das nicht angemeldete Nutzer umleitet.Nächste Schritte
HTTP-Requests
Lernen Sie, wie Sie in Controllern Anfragedaten empfangen.