Laravel Role and Permission

Dalam tutorial kali ini kita akan membahas tentang role dan permission pada laravel.

dan kita akan menggunakan auth permission dari spatie

langkah pertama kita membuat auth dulu pada laravel dengan menjalankan

php artisan make:auth

kemudian kita install spatie laravel permission

dengan menggunakan komposer

composer require spatie/laravel-permission

tambahkan service provider pada config/app.php

'providers' => [
    // ...
    Spatie\Permission\PermissionServiceProvider::class,
];

publish migration dengan

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

publish config file dengan

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"

kemudian jalankan

php artisan migrate

tambahkan Spatie\Permission\Traits\HasRoles pada User model sehingga menjadi

use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;

class User extends Authenticatable
{
    use HasRoles;

    // ...
}

untuk membuat role atau permission bisa menggunakan

use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;

$role = Role::create(['name' => 'writer']);
$permission = Permission::create(['name' => 'edit articles']);

untuk penggunaan role pada blade :

@role('writer')
    I am a writer!
@else
    I am not a writer...
@endrole

untuk penggunaan permission pada blade :

@can('edit articles')
  //
@endcan

Best Of The Week