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:
auth— cek autentikasithrottle:60,1— rate limiting (60 request/menit)verified— cek email terverifikasi