elliot9 / laravel-permission-helper
There is no license information available for the latest version (dev-master) of this package.
Role Permission Management
dev-master
2020-07-02 01:12 UTC
Requires
- php: ^7.2.5
- laravel/framework: ^7.0
This package is auto-updated.
Last update: 2025-03-29 00:48:54 UTC
README
Install
composer require elliot9/laravel-permission-helper
Configuration
add all of the following classes to your config/app.php service providers list.
Elliot9\laravelPermissionHelper\PermissionHelperServiceProvider::class
and add this below the aliases
'PermissionHelper' => Elliot9\laravelPermissionHelper\PermissionHelperFacade::class
Publish the storage configuration file and migrateion.
php artisan vendor:publish --provider="Elliot9\laravelPermissionHelper\PermissionHelperServiceProvider" --tag="migrations" php artisan vendor:publish --provider="Elliot9\laravelPermissionHelper\PermissionHelperServiceProvider" --tag="config"
Running Migrations
php artisan migrate
Setting
set all the Authenticatable class at config like ->
return [ 'PermissionSetting' => [ 'types' => [ 'User' => \App\User::class, 'Admin' => \App\Admin::class, ] ] ];
Usage
//Binding Model $user = PermissionHelper::SetInstance($user); // Adding role to a user $user->SetRole('admin|writer|driver|...'); // Adding permissions via a role $user->SetRolePermission('update time|edit articles|delete papers|...'); // Get user's all roles $user->GetRole(); // Get user's all permissions $user->GetPermission(); // Remove user's role $user->RemoveRole('admin|driver'); // Remove permissions via a role $user->RemoveRolePermission('update time'); // Create new role $PermissionHelper = PermissionHelper::SetInstance(User::class); $PermissionHelper->CreateRole('author|officer'); // Create new permissions $PermissionHelper = PermissionHelper::SetInstance(User::class); $PermissionHelper->CreatePermission('edit paper|delete tickets'); // Delete role $PermissionHelper->DeleteRole('author'); // Delete permissions $PermissionHelper->DeletePermission('edit paper|delete tickets'); // Check had permission $user->HasPermission('edit paper|delete tickets'); // Using in Blade @HasPermission @HasRole @endHas // Using in middleware $this->middleware('PermissionCheck:edit papers');