DALTCORE / Permissions by RamonSmit

Laravel permissions handler
2,401
0
2
Package Data
Maintainer Username: RamonSmit
Maintainer Contact: rsmit@intothesource.com (Ramon Smit)
Package Create Date: 2017-07-14
Package Last Update: 2021-01-21
Language: PHP
License: MIT
Last Refreshed: 2024-05-01 15:03:55
Package Statistics
Total Downloads: 2,401
Monthly Downloads: 19
Daily Downloads: 1
Total Stars: 0
Total Watchers: 2
Total Forks: 1
Total Open Issues: 0

Permissions

FOSSA Status

Laravel permissions handler, on your own model

Install

Via Composer

$ composer require daltcore/laravel-permissions

In your config/app.php at the Package Service Providers

DALTCORE\Permissions\ServiceProvider::class,

In your config/app.php at the Class Aliases

'Permission' => DALTCORE\Permissions\Facade::class,

In your app/Http/Kernel.php in $routeMiddleware

'permission' => \DALTCORE\Permissions\Http\Middleware\CheckPermission::class,
'role' => \DALTCORE\Permissions\Http\Middleware\CheckRole::class,

Publish migrations

php artisan vendor:publish --tag=dpm-migrations

Run migrations

php artisan migrate

Add trait to User model

use DALTCORE\Permissions\Traits\Permissible;

Usage

Add a role

Permission::addRole('admin');

Add a permission

Permission::addPermission('create-users', 'a small description');

Link permission to role

Permission::addPermissionToRole('admin', 'create-users');

Link role to user

User::find(1)->giveRole('admin');

Check if user has role

User::find(1)->hasRole('admin');

Check if user has permission

User::find(1)->hasPermission('create-users');

Drop role from user

User::find(1)->dropRole('admin');

Drop permission from role

Permission::dropPermissionFromRole('admin', 'create-users');

Remove a permission

Permission::removePermission('admin');

Remove a role

Permission::removeRole('admin');

Middleware

Route::group(['middleware' => 'permission:create-users'], function () {
...
Route::group(['middleware' => 'role:admin'], function () {

Blade directives

@hasrole('admin')
I'm admin
@else
I'm not admin
@endhasrole

@haspermission('create-users')
I can create users
@else
I cannot create users
@endhaspermission

License

The MIT License (MIT). Please see License File for more information.

FOSSA Status