Rabu, 31 Agustus 2016

Multiuser dan Otoritas Admin Menggunakan Middleware Pada Laravel 5

Apabila kita membuat aplikasi dengan banyak peran pengguna untuk mengakses maka kita perlu mengatur peranan masing-masing pengguna sesuai dengan hak aksesnya. dalam contoh catatan kali ini kita memiliki dua pengguna yaitu user dan admin, dimana admin. memiliki hak akses untuk tindakan apapun dan user mempunyai keterabatasan hak akses. bagaimana cara membuat level peran pengguna tersebut, yuk baca catatan berikut ini.
Pertama-tama pada tabel user tambahkan field peranan atau role.
Dimana pada pada field role dapat diisikan peranan user dan admin. untuk menghilangkan menu yang hanya bisa dilihat oleh admin saja dan user tidak dapat melihatnya buat kode berikut ini.
terlihat pada kode diatas jika peranannya ialah admin maka menu Bisnis Kategori akan terlihat. namu bagai mana jika user mengakses langsung ke route /dashboard/category_business maka user terbut dapat mengaksesnya walaupun menu sudah kita hilangkan dari user. untuk mengatasinya gunakan middleware berikut ini.
buat sebuah middleware yaitu AdminMiddleware ketikan perintah dibawah ini pada shell.
php artisan make:middleware AdminMiddleware
dan pada file tersebut isikan kode seperti berikut.
Admin Middleware
maka route sudah terlindungi dengan sebuah kondisi yaitu jika peranan user bukan admin maka akan di redirect ke route dashboard. sebelum kita dapat menggunakan middleware tersebut maka kita perkenalkan terlebih dahulu pada app/Http/Kernel.php dengan menyematkan baris kode berikut ini.
'admin' => 'App\Http\Middleware\AdminMiddleware',
pada protected $routeMiddleware
sehingga kita dapat menggunakannya pada route ataupun controller dengan menyematkan hanya sebaris kode yaitu.
$this->middleware('admin');
yang pada controller dituliskan pada bagian sebagi berikut.
sehingga controller terbut hanya bisa diakses oleh admin saja.

Tidak ada komentar:

Posting Komentar