Role & Permission merupakan cara membuat aturan dan perijinan user/pengguna siapa saja yang dapat mengakses modul atau menu-menu tertentu pada aplikasi yang kita tentukan. Misalkan :
1. Pengguna satu hanya dapat mengakses menu-menu yang ada pada Master, Transaksi, Laporan dan Pengaturan
2. Pengguna dua hanya dapat mengakses menu-menu yang ada di Transaksi.
3. Pengguna tiga hanya dapat mengakses menu-menu yang ada di Laporan.
4. Dan seterusnya tergantung dari pengaturan Role dan Permission.
Langkah-langkah instalasi Role dan Permission :
1. Pada terminal ketikan perintah > composer require spatie/laravel-permission.
2. Pada terminal ketikan perintah perintah > php artisan vendor:publish –provider=”Spatie\Permission\PermissionServiceProvider”
3. Pada terminal ketikan perintah perintah > php artisan migrate
4. Buka file Kernel.php yang ada pada app/Http/Kernel.php
5. Pada file Kernel.php cari protected $routeMiddleware kemudian tambahkan script berikut :
‘role’ => \Spatie\Permission\Middlewares\RoleMiddleware::class,
‘permission’ => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
‘role_or_permission’ => \Spatie\Permission\Middlewares\RoleOrPermissionMiddleware::class,
‘has.role’ => \App\Http\Middleware\HasRoleMiddleware::class,
6. Buka file User.php yang ada pada app/Models/User.php
7. Pada file User.php ditambahkan HasRoles seperti pada gambar dibawah ini
8. Pada terminal ketikan perintah > php artisan make:middleware HasRoleMiddleware
9. Untuk penggunaan middleware pada file web.php kelompokan script pada middleware seperti berikut :
Route::middleware(‘has.role’)->group(function () {
……………………………………………
Route::prefix(‘mm’)->middleware(‘permission:Main Modul’)->group(function () {
……………………………… (diisi route yang berada pada prefix mm)
});
Route::prefix(‘pv’)->middleware(‘permission:Privilege’)->group(function () {
……………………………… (diisi route yang berada pada prefix pv)
});
}) ;
Artikel terkait :
Referensi :
https://spatie.be/docs/laravel-permission/v4/installation-laravel
https://spatie.be/docs/laravel-permission/v4/basic-usage/middleware