cdebattista/laravel-permission

Groups & Permissions for Laravel Jetstream

1.0.2 2020-10-12 22:38 UTC

This package is auto-updated.

Last update: 2024-11-15 03:24:54 UTC


README

Build Status Total Downloads Latest Stable Version License License

⭐ Star on GitHub — it helps!

Table of content

Installation

Composer

composer require cdebattista/laravel-permission

Inertia

For now, support only Jetstream with Inertia.

In local installation and using php artisan serve, change APP_URL=http://127.0.0.1:8000 in .env. Otherwise, you will get an error: Access to XMLHttpRequest at 'http://localhost/users' from origin 'http://127.0.0.1:8000

php artisan permission:install inertia

npm install && npm run dev

php artisan migrate

How it works

Inertia

You can customize Actions, Models, Policies and Pages as your wishes.

PHP

In php code :

$user->hasPermissions(['view_user', 'view_group', 'view_permission']);

more details here

Protect your routes :

Route::group(['permissions' => ['administrator', 'create_user', 'view_user', 'edit_user', 'delete_user']], function (){
    Route::resource('users', Inertia\UserController::class)->except(['show']);
});

more details here

Vuejs

in VUE files :

this.HasPermissions(['view_user', 'view_group', 'view_permission'])

more details here

You can use directive v-can :

<div v-can="['view_user', 'view_group', 'view_permission']">...</div>

more details here

License

Laravel Permission is open-sourced software licensed under the MIT license.

Links