Install Role & Permission di Laravel 8

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 :

Cara Install Laravel 8

Install Laravel Livewire


Referensi

https://spatie.be/docs/laravel-permission/v4/installation-laravel

https://spatie.be/docs/laravel-permission/v4/basic-usage/middleware

Post a Comment

أحدث أقدم