Routen mit Middleware schützen
Verwenden Sie auth- und guest-Middleware, um Routen zu sichern und Benutzer weiterzuleiten.
Routen mit Middleware schützen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist Middleware?
Middleware ist Code, der ausgeführt wird, bevor oder nachdem eine HTTP-Anfrage den Controller erreicht. Sie wird unter anderem für Authentifizierung, Logging, CORS und Rate-Limiting verwendet.
Integrierte auth-Middleware
Die auth-Middleware leitet nicht authentifizierte Benutzer zur Anmeldeseite weiter (oder gibt bei API-Anfragen 401 zurück).
<?php
Route::get("/dashboard", [DashboardController::class, "index"])
->middleware("auth");Middleware auf Gruppen anwenden
Schützen Sie eine ganze Gruppe von Routen auf einmal.
<?php
Route::middleware(["auth", "verified"])->group(function () {
Route::get("/dashboard", [DashboardController::class, "index"]);
Route::get("/profile", [ProfileController::class, "show"]);
});guest-Middleware
Die guest-Middleware leitet authentifizierte Benutzer von Anmelde- und Registrierungsseiten weg.
<?php
Route::middleware("guest")->group(function () {
Route::get("/login", [LoginController::class, "create"]);
Route::get("/register", [RegisterController::class, "create"]);
});Benutzerdefinierte Middleware erstellen
Generieren Sie sie mit Artisan und implementieren Sie die Methode handle().
$ php artisan make:middleware EnsureSubscribedLogik benutzerdefinierter Middleware
Geben Sie die nächste Anfrage zurück, um die Verarbeitung fortzusetzen, oder eine Response, um sie abzubrechen.
<?php
public function handle(Request $request, Closure $next): Response
{
if (!$request->user()?->isSubscribed()) {
return redirect("/subscribe");
}
return $next($request);
}Middleware registrieren
Registrieren Sie Middleware-Aliase in app/Http/Kernel.php (Laravel 10) oder bootstrap/app.php (Laravel 11+).
<?php
// Laravel 11+ bootstrap/app.php:
->withMiddleware(function (Middleware $m) {
$m->alias(["subscribed" => EnsureSubscribed::class]);
})Middleware-Parameter
Übergeben Sie der Middleware Parameter mithilfe eines Doppelpunkts.
<?php
Route::middleware("role:admin")->group(function () {
// ...
});
// In middleware handle():
public function handle(Request $request, Closure $next, string $role): ResponseMiddleware nach der Anfrage
Code nach $next($request) wird ausgeführt, nachdem die Response erzeugt wurde — nützlich für Logging und die Änderung der Response.
<?php
public function handle(Request $request, Closure $next): Response
{
$response = $next($request); // controller runs here
$response->headers->set("X-App", "Laravel");
return $response;
}Middleware-Priorität
Die Reihenfolge, in der Middleware ausgeführt wird, ist wichtig. Globale Middleware (wie TrimStrings) wird vor der Route-Middleware ausgeführt.
Throttle-Middleware
Laravel bietet mit der throttle-Middleware eine Möglichkeit zur Ratenbegrenzung.
<?php
Route::middleware("throttle:60,1")->group(function () {
// 60 requests per 1 minute
});Zusammenfassung
Middleware filtert HTTP-Anfragen. Wenden Sie auth an, um Routen zu schützen, erstellen Sie benutzerdefinierte Middleware für Geschäftsregeln und gruppieren Sie Routen, um Middleware übersichtlich gemeinsam zu verwenden.
Schnelltest
Was tut die auth-Middleware für nicht authentifizierte Benutzer?
Häufig gestellte Fragen
Ist die Lektion „Routen mit Middleware schützen“ kostenlos?
Ja — der vollständige Text von „Routen mit Middleware schützen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Routen mit Middleware schützen“?
Verwenden Sie auth- und guest-Middleware, um Routen zu sichern und Benutzer weiterzuleiten. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Routen mit Middleware schützen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Authentifizierung mit Laravel Breeze
- Routen mit Middleware schützen
- Gates: Einfache Autorisierungsprüfungen
- Policies: Autorisierung auf Modellebene