libriciel / cakephp5-acl
Acl Plugin for CakePHP framework
Package info
gitlab.adullact.net/Libriciel/archivage/cakephp5-acl
Type:cakephp-plugin
pkg:composer/libriciel/cakephp5-acl
Requires
- php: >=8.1
- cakephp/cakephp: ^5.0.1
- cakephp/plugin-installer: ^2.0
Requires (Dev)
- cakephp/cakephp-codesniffer: ~4.2.0
- phpunit/phpunit: ^10.1.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-29 12:58:40 UTC
README
Plugin CakePHP 5 de gestion des droits par listes de contrôle d'accès (ACL) : arbres d'ARO (demandeurs) et d'ACO (ressources), permissions et adaptateurs de stockage.
Dépendance de
| Projet | Build | Coverage |
|---|---|---|
| asalae | ||
| versae | ||
| asalae-core |
Prérequis
- PHP
>=8.1
Installation
composer require libriciel/cakephp5-acl:dev-master
src/Application.php (asalae-core)
$this->addPlugin('Acl', ['bootstrap' => true]);
Tables acos, aros et aros_acos : migration du plugin.
bin/cake migrations migrate -p Acl
Adaptateur utilisé par AclComponent : clé Acl.classname.
config/app_default.php (asalae)
'Acl' => [
'database' => 'default',
'classname' => DbAcl::class,
],
Utilisation
Adapter
DbAcl (permissions en base de données), CachedDbAcl, IniAcl et PhpAcl (permissions dans un fichier), implémentant AclInterface.
Controller/Component
AclComponent : vérification (check()), attribution (allow()) et retrait (deny()) d'une permission d'un ARO (rôle, utilisateur) sur un ACO (action, ressource).
src/Model/Table/UsersTable.php (asalae)
$registry = new ComponentRegistry(new Controller(new ServerRequest()));
$Acl = new AclComponent($registry);
$role = TableRegistry::getTableLocator()->get('Roles')->get($entity->get('role_id'));
foreach ($validationActors as $actor) {
$check = $Acl->check(
$role,
self::getAcoPath(
Hash::get($actor, 'validation_stage.validation_chain.app_type')
)
);
Model
AclBehavior: crée automatiquement l'ARO et/ou l'ACO d'un enregistrement (requester,controlledouboth) ; l'entité doit définirparentNode()- Tables
AcosTable,ArosTableetPermissionsTable(arbres et permissions)
Auth
ActionsAuthorize et CrudAuthorize : autorisation basée sur les ACL.
Tests
vendor/bin/phpunit
Licence
Portage CakePHP 5 du plugin cakephp/acl, licence MIT. Voir LICENSE.txt.