Sunday, November 4, 2018

Cara Membuat Middleware pada Laravel 5.2

Membuat Middleware pada Laravel 5.2


Pada postingan kali ini saya akan membagikan ilmu bagaimana membuat middleware pada laravel 5.2. Seperti biasanya, sebelum kita membuat middleware pada laravel terlebih dahulu kita akan mendefinisikan middleware itu sendiri. Untuk itu kita harus mengetahui middleware secara teori terlbih dahulu baru kita bisa mempraktekkan membuat middleware.

Pengertian Middleware
Middleware adalah perangkat lunak yang menghubungkan perangkat lunak atau aplikasi perusahaan. Middleware memudahkan pengembang perangkat lunak untuk mengelola input/output. Bisa kita sederhanakan bahwa middleware itu penengah request yang masuk kemudian diperiksa dan kemudian dimunculkan outputnya.

Dari gambar diatas bisa kita lihat, bahwa middleware berada pada posisi tengah antara request dan response. Ini memungkin middleware dapat melakukan pengecekan request yang kemudian diteruskan sebagai response.

Pada postingan ini saya akan mencontoh bagaimana cara kita untuk membuat middleware pada laravel. Saya akan mencoba membuat Autentikasi admin dan user. Sehingga, ketika ada request yang masuk akan dicek, dia sebagai admin atau sebagai user.
Hal yang perlu kita lakukan pertama kali adalah membuat autentikasi otomatis pada larevel nya dengan mengetikkan perintah php artisan make:auth. Authentcation bawaan laravel telah menyediakan fungsi-fungsi yang dibutuhkan, sehingga kita tinggal menggunakan fungsi auth nya saja. 

Selanjutnya tambahkan pada file migration create_users_table kolom baru yaitu $table->tinyInteger('role')->default(1); Kita akan set ketika ada user login maka role nya sebagai user biasa. Untuk admin, kita tambahkan data admin dengan edit rolenya menjadi 2.

Setelah itu, ketika perintah php artisan make:middleware adminMiddleware. Setelah sudah lakukan pengeditan pada file adminMiddleware pada direktori app/http/middleware


Method isAdmin itu adalah function yang ada pada model user. Oleh karena itu kita tambahkan pada model user fungsi isAdmin. Sedangkan return $next($request) disana adalah response yang akan diberikan middleware ketika kondisi terpenuhi.


Buat function baru dan ketikkan seperti gambar diatas. Setelah itu, jangan lupa daftar kan middleware baru kita pada kernel. Pada kata 'admin' adalah kata yang akan kita gunakan untuk memanggil middleware nya nanti. Jadi untuk penamaannya tidak masalah jika ingin dicustom.


Selanjutnya, pada route kita akan membuat route group menggunakan middleware admin tadi. Sehingga user yang akan mengakses route yang ada pada group middleware tersebut harus memenuhi syarat pada middleware yang kita buat.


Terakhir lakukan uji coba pada aplikasi. Perbaiki bug dan error jika ada. Silahkan komen yang sopan jika ada pertanyaan.

#SyntaxError


EmoticonEmoticon