Mengenal Middleware di Laravel untuk Pemula Assalamualaikum teman teman berjumpa lagi dengan saya di dailamiahmad.my.id kali ini saya akan melanjutkan bahasan tentang laravel yaitu tentang Mengenal Middleware di Laravel untuk Pemula . Sebelum berlanjut ke pembahasannya lihat juga artikel yang berkaitan dengan pembahasan laravel dibawah ini :
- CSRF di Laravel Mekanisme dan Implementasi untuk Aplikasi Aman
- Panduan Lengkap Integrasi DataTables dengan Bootstrap 5 untuk Tampilan Tabel Interaktif dan Responsif
- Panduan Lengkap View Laravel
- Mengenal Model Laravel Fondasi Interaksi Data dalam Aplikasi Web
- Mengenal Controller di Laravel Fondasi Logika Aplikasi Berbasis MVC
- Memahami Routing dalam Laravel: Konsep, Jenis, dan Penerapan
Salah satu fitur penting yang membuat Laravel unggul adalah middleware. Middleware memungkinkan developer untuk mengontrol alur permintaan (request) dan tanggapan (response) dalam aplikasi web.
![]() |
| Mengenal Middleware di Laravel untuk Pemula |
Bagi pemula, konsep middleware sering kali terasa membingungkan. Namun, sebenarnya middleware bekerja seperti security yang dapat memeriksa data sebelum request diproses lebih lanjut oleh aplikasi. Artikel ini akan membahas secara detail mengenai middleware di Laravel, mulai dari pengertian, cara kerja, contoh implementasi, hingga best practice dalam penggunaannya.
Pengertian Middleware
Secara sederhana, middleware adalah sebuah lapisan perantara yang memproses request sebelum sampai ke controller atau response sebelum dikirim kembali ke pengguna. Bayangkan middleware sebagai filter yang dapat memutuskan apakah sebuah request diizinkan untuk dilanjutkan atau tidak. Penggunaan middleware biasanya untuk
- Mengecek apakah pengguna sudah login.
- Menentukan apakah pengguna memiliki peran tertentu (admin, user, dll).
- Menyaring data agar lebih aman.
- Mencatat log aktivitas pengguna.
Dengan adanya middleware, developer bisa menambahkan logika tambahan tanpa harus menuliskannya berulang kali di setiap controller.
Fungsi Middleware
Middleware memiliki berbagai fungsi penting, antara lain :
- Autentikasi memastikan hanya pengguna yang sudah login yang bisa mengakses halaman tertentu.
- Otorisasi membatasi akses berdasarkan peran atau hak akses.
- Validasi memeriksa data tertentu sebelum request diteruskan.
- Logging menyimpan informasi aktivitas pengguna.
- Proteksi keamanan misalnya melindungi dari serangan CSRF atau XSS.
- Manajemen request seperti membatasi jumlah permintaan (rate limiting).
Cara Membuat Middleware di Laravel
Untuk membuat middleware baru di Laravel, gunakan perintah Artisan berikut :
Perintah ini akan membuat file baru di folder app/Http/Middleware/Usia.php
Isi file tersebut biasanya seperti ini :
Registrasi Middleware
Setelah middleware dibuat, langkah berikutnya adalah mendaftarkannya agar bisa digunakan. Middleware dapat diregistrasikan di file app/Http/Kernel.php.
Ada tiga kategori pendaftaran middleware:
- Global Middleware ($middleware) dijalankan pada setiap request aplikasi.
- Middleware Groups ($middlewareGroups) middleware yang dikelompokkan berdasarkan tipe request, biasanya web dan api.
- Route Middleware ($routeMiddleware)middleware khusus yang bisa dipanggil hanya pada route tertentu.
Dengan middleware, aplikasi menjadi lebih aman, terstruktur, dan efisien.
Contoh middleware groups
Menggunakan Middleware pada Route
Setelah middleware didaftarkan, kita bisa menggunakannya pada route tertentu. Contoh
Middleware dengan Parameter
Middleware juga dapat menerima parameter. Misalnya kita ingin membuat middleware yang membatasi akses berdasarkan peran (role)
Middleware Bawaan Laravel
Laravel sudah menyediakan beberapa middleware bawaan, antara lain:
- auth untuk autentikasi pengguna.
- guest memastikan halaman hanya dapat diakses oleh pengguna yang belum login.
- throttle membatasi jumlah request (rate limiting).
- verified memastikan pengguna sudah melakukan verifikasi email.
- csrf melindungi aplikasi dari serangan Cross-Site Request Forgery.
Tips Trick Middleware
- Gunakan middleware hanya untuk logika yang memang terkait dengan request/response.
- Jangan masukkan logika bisnis yang rumit di dalam middleware.
- Manfaatkan middleware groups untuk mengorganisasi middleware dengan baik.
- Gunakan parameter pada middleware agar lebih fleksibel.
- Pastikan middleware tidak memperlambat aplikasi, terutama jika digunakan secara global.

