Memahami Middleware dalam Laravel: Fungsi, Contoh, dan Cara Membuatnya

  • author-image

    Kurnia Andi Nugroho

  • blog-tag laravel middleware, tutorial middleware laravel, laravel bahasa indonesia, belajar laravel
  • blog-comment 0 comment
  • dilihat 1406 kali
  • 30 May, 2025
blog-thumbnail

Middleware adalah salah satu fitur penting dalam Laravel yang berfungsi sebagai jembatan antara request dan response. Dengan middleware, kita dapat memfilter HTTP request sebelum masuk ke controller dan memberikan response sesuai logika yang kita buat.

Apa Itu Middleware?


Secara sederhana, middleware adalah mekanisme untuk mengintervensi proses HTTP request dan response. Laravel sendiri sudah menyediakan beberapa middleware bawaan, seperti:

  • auth untuk mengecek apakah user sudah login.
  • guest untuk redirect user jika sudah login.
  • csrf untuk melindungi aplikasi dari serangan CSRF.
  • throttle untuk membatasi jumlah request (rate limiting).

Kapan Harus Menggunakan Middleware?


Gunakan middleware ketika kamu ingin:

  • Membatasi akses berdasarkan role pengguna (admin/user).
  • Melakukan logging terhadap aktivitas pengguna.
  • Memfilter IP address.
  • Melakukan validasi token API.
  • Mengatur response header, seperti CORS.

Cara Menggunakan Middleware di Laravel


Pada tutorial ini dibuat, kita menggunakan versi laravel 12.

  1. Membuat Middleware Baru

Jalankan perintah Artisan berikut kedalam CMD dan tentunya didalam project laravel yang sedang dikerjakan

php artisan make:middleware CekUsia

Perintah ini akan membuat file CekUsia.php di folder app/Http/Middleware

  1. Menulis Logika Middleware
<?php
namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CekUsia
{
    public function handle(Request $request, Closure $next)
    {
        if ($request->umur <= 17) {
            return redirect('tidak-diizinkan');
        }

        return $next($request);
    }
}

Middleware ini akan mengecek apakah nilai umur dalam request lebih kecil atau sama dengan 17. Jika ya, akan diarahkan ke halaman "tidak diizinkan".

  1. Registrasi Middleware

Tambahkan middleware ke file bootstrap/app.php

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: __DIR__.'/../routes/api.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware([
        // Middleware global (berlaku untuk semua request)
    ])
    ->withRouteMiddleware([
        'cek.usia' => \App\Http\Middleware\CekUsia::class, // <- tambahkan ini
    ])
    ->create();
  1. Gunakan Middleware di Route
Route::get('/dashboard', function () {
    return 'Selamat datang!';
})->middleware('cek.usia');

Kesimpulan


Middleware di Laravel sangat powerful untuk mengatur alur request dan response. Dengan memanfaatkannya secara bijak, kita bisa menjaga keamanan, efisiensi, dan fleksibilitas aplikasi yang kita bangun.

author_photo
Kurnia Andi Nugroho

Web & Mobile App Developer, Laravel, Inertia, Vue.Js, React.Js

Founder of Lagikoding.com Laravel Enthusiast & Web Developer