hamedmehryar / laracancan
Resource Based Permission System for Laravel
Installs: 643
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 1
Open Issues: 0
Language:JavaScript
Requires
- php: >=5.4.0
- laravel/framework: ~5.0
Requires (Dev)
- illuminate/database: ~5.0
This package is not auto-updated.
Last update: 2024-12-12 16:07:18 UTC
README
LaraCanCan
Resource-Based permission system for laravel
Features
- Resource Permissions
- Permission Inheritance
- Roles
- Custom Permissions
Installation (Laravel 5.x)
In composer.json:
"require": {
"hamedmehryar/laracancan" "1.0.0"
}
Run:
composer update
Add the service provider to config/app.php
under providers
:
'providers' => [
Hamedmehryar\Laracancan\LaracancanServiceProvider::class,
]
Create the Migration file:
php artisan laracancan:migration
Migrate your database:
php artisan migrate
Seed the Permissions:
php artisan laracancan:seed
Add the trait to your user model:
use Hamedmehryar\Laracancan\Traits\LaracancanUserTriat;
class User extends Model {
use LaracancanUserTrait;
}
##usage
Permission checking:
Laracancan::canCreate('<resource-name>');
Laracancan::canRead('<resource-name>');
Laracancan::canUpdate('<resource-name>');
Laracancan::canDelete('<resource-name>');
Laracancan::can('<permission-name>', '<resource-name>');
$user->canCreate('<resource-name>');
$user->canRead('<resource-name>');
$user->canUpdate('<resource-name>');
$user->canDelete('<resource-name>');
$user->can('<permission-name>', '<resource-name>');
Role checking:
Laracancan::roles();
Laracancan::hasRole();
$user->roles();
$user->hasRole();
Getting Resources based on Permission:
Laracancan::creatableResources();
Laracancan::readableResources();
Laracancan::updatableResources();
Laracancan::deletableResources();
Laracancan::resourcesByPermission('<permission-name');
$user->creatableResources();
$user->readableResources();
$user->updatableResources();
$user->deletableResources();
$user->resourcesByPermission('<permission-name');
Attaching Roles to user:
$user->attachRole('<role-object>');
$user->detachRole('<role-object>');
$user->attachRoles('<roles>');
$user->detachRoles('<roles>');