Middleware — Laravel

Middleware adalah filter yang dijalankan sebelum/setelah request mencapai controller. Membuat middleware: php artisan make:middleware EnsureAdmin class EnsureAd

Middleware adalah filter yang dijalankan sebelum/setelah request mencapai controller.

Membuat middleware:

php artisan make:middleware EnsureAdmin
class EnsureAdmin
{
    public function handle(Request $request, Closure $next)
    {
        if ($request->user()?->role !== "admin") {
            return response()->json(["error" => "Forbidden"], 403);
        }
        return $next($request);
    }
}

Mendaftarkan middleware:

// bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
    $middleware->alias([
        "admin" => EnsureAdmin::class,
    ]);
})

Menggunakan di route:

Route::middleware("admin")->group(function () {
    Route::get("/admin/users", ...);
    Route::delete("/admin/users/{id}", ...);
});

Middleware bawaan Laravel:

Yang akan kamu pelajari