programic / permissions
Target specific roles & permissions
Installs: 2 811
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:package
Requires
- php: ^7.2.5|^8.0
- illuminate/auth: ^6.0|^7.0|^8.0
- illuminate/container: ^6.0|^7.0|^8.0
- illuminate/contracts: ^6.0|^7.0|^8.0
- illuminate/database: ^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.0|^9.0
README
This package allows you to manage target specific user permissions and roles in a database.
Installation
This package requires PHP 7.2 and Laravel 5.8 or higher.
composer require programic/permissions
Setup
Publish the config & migration files
php artisan vendor:publish --provider="Programic\Permission\PermissionServiceProvider"
Configuration
- Add the HasPermission & HasRole trait to the User model
use Illuminate\Foundation\Auth\User as Authenticatable; use Programic\Permission\Traits\HasPermissions; use Programic\Permission\Traits\HasRole; class User extends Authenticatable { use HasPermissions; use HasRole; // ... }
- Add the HasEntityPermissions trait to the Target model
use Illuminate\Database\Eloquent\Model; use Programic\Permission\Traits\HasEntityPermissions; class Article extends Model { use HasEntityPermissions; // ... }
Basic Usage
// Assign global role to user $user->assignRole('writer'); // Assign target specific role to user $user->assignRole('writer', $model); // Adding global permission to role $role->givePermission('view-article');
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security-related issues, please email info@programic.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.