mecene / laravel-acl
Gestion des rôles et permissions pour Laravel 11/12
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Blade
pkg:composer/mecene/laravel-acl
Requires
- php: ^8.2
- illuminate/auth: ^11.0|^12.0
- illuminate/cache: ^11.0|^12.0
- illuminate/database: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0
- phpunit/phpunit: ^11.0
README
Gestion des rôles et permissions pour Laravel 11/12 avec interface d'administration intégrée.
Installation
composer require MecenePhrygien/laravel-acl php artisan vendor:publish --tag=acl-config php artisan vendor:publish --tag=acl-migrations php artisan migrate
Configuration rapide
// app/Models/User.php use MecenePhrygien\LaravelAcl\Traits\HasRolesAndPermissions; use MecenePhrygien\LaravelAcl\Contracts\HasAcl; class User extends Authenticatable implements HasAcl { use HasRolesAndPermissions; }
Interface d'administration
Accessible sur /acl après connexion :
| URL | Description |
|---|---|
/acl |
Dashboard |
/acl/roles |
Gestion des rôles |
/acl/permissions |
Gestion permissions |
/acl/users |
Utilisateurs |
/acl/affectation |
Affecter des rôles |
/acl/audit |
Journal d'audit |
Personnaliser dans config/acl.php :
'ui' => [ 'enabled' => true, 'prefix' => 'acl', 'middleware' => ['web', 'auth', 'role:admin'], ],
Utilisation
$user->assignRole('admin'); $user->removeRole('vendor'); $user->syncRoles(['vendor', 'editor']); $user->hasRole('admin'); // true $user->hasAnyRole(['admin', 'vendor']); // true $user->hasPermission('products.edit'); // true $user->hasAllPermissions(['p1', 'p2']); // true
Middlewares
Route::middleware('role:admin')->group(...); Route::middleware('permission:products.edit')->group(...); Route::middleware('role_or_permission:admin,orders.view')->group(...);