Sunday, August 7, 2016

Maen Middleware di Laravel

Di post sebelumnya kita udah buat sistem authentikasi sederhana. Nah disini kita akan bermain dengan middleware. Sooo.... mmm... mari kita buat satu biji route yang belum pake middleware :
Terus klu kita akses ...
Naah... kliatan klu path path testmiddleware itu bisa diakses user yng blum login juga. So...biar route testmiddleware ini cm bisa diakses oleh user yang login ajjah, kita taraoin middleware jadi kyk gini :
Terus klu kita akses lagi {pastiin logout dl yaak...:v} hasilnya :
Kliatan klu kita akses testmiddleware tar kita dirouteback ke login page... jadi kita harus login dl... :)
Daan... itu middleware auth yang dibuat dipostingan sebelumnya...  Neext... mari kita buat  admin middleware. Jdi yg bisa akses route/path tertentu cuma user yang levelnya adalah admin. Pertama-tama kita tambain kolom baru ditabelnya kyk gini :

So gambar diatas default nilai intnya adalah 0 {bukan admin, klu admin 1 eheh..:D} terus ..sebelumnya kita udah punya satu biji user yaitu Hisoka, dan posisinya bukan admin.
Terus...mari kita buat middleware baru, balik ke cmd, terus jalanin command ini :
php artisan make:middleware hisokaAdminMiddleware
File hisokaAdminMiddlewarenya defaultnya kyak gini :
Naaah... silahkan ubah hisokaAdminMiddleware ini jadi kek gini :
Naaah...fungsi handle itu yg ngecek apa kita guest, logged user, atau udah admin... Daan.... disitu dicek klu bukan guest (udah login) terus adminnya nilainya selain 0, maka kita akan lanjut terus, tapi klu g', g' ngapa2in atau balik ke home directory {redirect('/')}...Teruuuus... kita tambain konfig baru dikernel laravel kyk gini :
Di kernel ini berarti tar kita panggil hisokaAdmidMiddlewarenya pke 'isAdminHisoka' seperti terlihat pada kode diatas....Terakhir kita tambain route baru seperti inih...
Naah... kliatan di-line 34, kita pake middleware('isAdminHisoka')...Dan isAdminHisoka ini nantinya dihandle di hisokaAdminMiddleware... So klu kita akses 'testHisokaAdminMiddleware' hasilnya seperti terlihat di bawah :
Okiee...cukup sekian untuk part ini... :)

Source codenya bisa dipull dari github Hisoka di sini... atau dari bitbucket di sini...

Next middleware controller...

No comments:

Post a Comment