Dalam pengembangan aplikasi web modern, middleware menjadi komponen penting untuk menangani proses yang perlu dijalankan sebelum atau sesudah sebuah request diproses oleh controller. CodeIgniter 4, sebagai versi terbaru dari framework PHP populer ini, telah menyediakan fitur middleware (disebut Filters) yang memudahkan developer mengelola autentikasi, logging, pembatasan akses, dan berbagai kebutuhan pre-processing lainnya.
Pada artikel ini, kita akan membahas langkah-langkah membuat middleware sederhana di CodeIgniter 4, mulai dari struktur dasar hingga implementasinya.
Apa itu Middleware (Filter) di CodeIgniter 4?
Secara sederhana, middleware atau filter adalah lapisan yang menangani proses tertentu sebelum request diteruskan ke controller atau setelah controller menyelesaikan prosesnya. Filter ini dapat digunakan untuk:
- Memeriksa status login pengguna.
- Membatasi akses berdasarkan role.
- Logging aktivitas user.
- Menambahkan header khusus pada response.
- Mengamankan API.
CodeIgniter 4 menyediakan struktur filter yang mudah digunakan dan sangat fleksibel.
Langkah 1: Membuat Filter Baru
CodeIgniter menyediakan perintah CLI untuk membuat filter dengan cepat, tetapi kita juga bisa melakukannya secara manual.
Membuat file filter
Buat file baru di: app/Filters/AuthFilter.php
Isi dengan kode berikut:
Filter di atas akan mengecek apakah session logged_in ada. Jika tidak, pengguna diarahkan ke halaman login.
Langkah 2: Mendaftarkan Filter ke Config
Agar filter bisa digunakan, kita harus mendaftarkannya ke file konfigurasi filter.
Buka file: app/Config/Filters.php
Tambahkan filter yang baru kita buat:
Dengan begitu, filter kita sudah memiliki alias auth dan dapat digunakan pada route atau global filter.
Langkah 3: Membuat controller
Buat controller pada folder controller misal Home.php isinya seperi ini:
Langkah 4: Menggunakan Filter pada Route
Filter bisa diterapkan pada route tertentu atau grup route. Contoh: menerapkan filter ke satu route.
Setiap kali route /dashboard diakses, filter auth akan dijalankan terlebih dahulu.
Contoh: menerapkan filter ke grup route
Semua route dalam grup admin akan terlindungi oleh filter autentikasi.
untuk file routes.php jadi seperti ini
coba cek akses pada browser dengan mengakses localhost:8080/dashboard secara langsung maka akan di arahkan ke route login. selanjutnya coba buat session terlebih dahulu dengan mengakses route localhost:8080/create-session setelah itu coba akses lagi halaman dashboard maka akan berhasil.
Kesimpulan
Middleware atau filter di CodeIgniter 4 merupakan fitur yang sangat bermanfaat untuk menangani proses yang harus dijalankan sebelum atau sesudah request diproses. Dengan filter, Anda bisa membuat logika autentikasi, pengamanan API, logging, dan berbagai kebutuhan lain dengan lebih rapi dan terstruktur.
Pada artikel ini, kita telah membahas:
- Cara membuat filter sederhana
- Cara mendaftarkan filter ke konfigurasi
- Cara menggunakannya pada route dan group route
Dengan memahami konsep ini, Anda dapat membangun aplikasi yang lebih aman, terorganisir, dan mudah dirawat.
untuk mmelihat artikel lain yang bersangkutan dengan Codeigniter, bisa dilihat disini.

No comments:
Post a Comment