PHPackages                             carlose119/acl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. carlose119/acl

ActiveCakephp-plugin

carlose119/acl
==============

Acl plugin for CakePHP

v1.0(8y ago)14MITPHPPHP &gt;=5.4.16

Since Mar 9Pushed 8y agoCompare

[ Source](https://github.com/carlose119/acl)[ Packagist](https://packagist.org/packages/carlose119/acl)[ Docs](https://github.com/carlose119/acl)[ RSS](/packages/carlose119-acl/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

CakePHP Acl Plugin
==================

[](#cakephp-acl-plugin)

[![License](https://camo.githubusercontent.com/099bb612b9b2e8026e9ae1359d565c4503ef83415f83272e80aaf84a91cbff24/68747470733a2f2f706f7365722e707567782e6f72672f63616b657068702f61636c2f6c6963656e73652e737667)](https://packagist.org/packages/carlose119/acl)

Proyecto basado en el proyecto: () Este proyecto es un de Fork de Todo el reconocimiento al trabajo hecho por el usuario abreu1234

El plugin para el manejo de ACL en aplicaciones CakePHP.

Instalando via composer
-----------------------

[](#instalando-via-composer)

Usted puede instalar este plugin usando el composer \[Composer\] (). Agregue la siguiente dependencia en su `composer.json` file:

```
"require": {
	"carlose119/acl": "dev-master"
}
```

y ahora ejecute en su terminal `php composer.phar update`

Cargue el plugin añadiendo la siguiente línea en `config\bootstrap.php`:

```
Plugin::load('Acl', ['bootstrap' => false, 'routes' => true]);
```

Creando tablas
--------------

[](#creando-tablas)

Para crear las tablas necesarias para el plugin usando `Migrations`ejecute el siguiente comando en su terminal:

```
bin/cake migrations migrate -p Acl

```

Cargando complemento Auth
-------------------------

[](#cargando-complemento-auth)

Debe iniciar el complemento `Auth` del cakephp

[(Auth cakephp)](http://book.cakephp.org/3.0/en/controllers/components/authentication.html)[(Auth tutorial)](http://book.cakephp.org/3.0/en/tutorials-and-examples/blog-auth-example/auth.html)

Configuración básica
--------------------

[](#configuración-básica)

Para cargar el complemento usted debe agregar el nombre de su controlador de usuarios en `Controller\AppController.php` de su aplicación

```
$this->loadComponent('Acl.Acl', ['controllers' =>['user'=>'Users']]);
```

Si utiliza grupos agregar el nombre del controlador de grupo también

```
$this->loadComponent('Acl.Acl', ['controllers' =>['user'=>'Users','group'=>'Groups']]);
```

Sincronizar controladores de plugins
------------------------------------

[](#sincronizar-controladores-de-plugins)

Para sincronizar los controllers de plugins basta con añadir la configuración a índice `plugins`

```
$this->loadComponent('Acl.Acl',
	[
		'controllers' =>['user'=>'Users','group'=>'Groups'],
		'plugins' => ['PluginName']
	]

);
```

Por defecto este plugin sincronizará los controladores

Configurar los campos de Autenticación
--------------------------------------

[](#configurar-los-campos-de-autenticación)

Para configurar campos de autenticación distintos a lo que utiliza el CakePhp por defecto

```
$this->loadComponent('Acl.Acl',
	[
            'authenticate' => [
                'username' => 'email',
                'password' => 'password'
            ],
	]

);
```

Ignorar carpetas y archivos
---------------------------

[](#ignorar-carpetas-y-archivos)

Para omitir alguna carpeta o archivo durante la sincronización basta con añadir la configuración el índice `ignore`con la siguiente sintaxis `Prefixo->Pasta/Arquivo->Action`. Para omitir todos los prefijos o carpetas de un prefijo adicione `*`

```
$this->loadComponent('Acl.Acl', [
	'controllers' =>['user'=>'Users','group'=>'Groups'],
	'plugins' => ['PluginName'],
	'ignore' => [
		'*' => [
	            '.','..','Component','AppController.php','empty',
	            '*'  => ['beforeFilter', 'afterFilter', 'initialize'],
	            'Permission'  => ['add']
	        ],
	        'Admin' => [
	        	'Users' => ['delete']
	        ]
        ]
]);
```

Dando permiso
-------------

[](#dando-permiso)

Para dar permiso a algún controlador sin necesidad de la base de datos agregue las líneas siguientes.

```
$this->loadComponent('Acl.Acl', [
            'authorize' => [
                '/' => [
                    'Users' => ['index'],
                ]
            ],
            'controllers' =>['user'=>'Users']
        ]);
```

Utilizar el índice `authorize` con la siguiente sintaxis `Prefixo->Controller->Action`en el ejemplo anterior estando dando permiso al Controller `User` e Action `index`. Para la aplicación raíz sin prefijo utilizar `/`

Si necesita autorizar un controlador dentro de un prefijo usar el nombre del prefijo después de `/`

```
$this->loadComponent('Acl.Acl', [
            'authorize' => [
                '/' => [
                    'Users' => ['index'],
                ],
                '/Admin' => [
                    'Users' => ['add'],
                ]
            ],
            'controllers' =>['user'=>'Users']
        ]);
```

En el ejemplo anterior estamos dando permiso al Controlador `User` y Action` add` del prefijo `Admin`

Si necesita autorizar un plugin utilizar la siguiente sintaxis `Plugin.Prefix` user `/` para la raíz del plugin

```
$this->loadComponent('Acl.Acl', [
            'authorize' => [
                '/' => [
                    'Users' => ['index'],
                ],
                '/Admin' => [
                    'Users' => ['add'],
                ],
                'Acl./' => [
                    'Permission' => ['index','synchronize'],
                    'UserGroupPermission' => ['index','getPermission','addAjax']
                ],
            ],
            'controllers' =>['user'=>'Users']
        ]);
```

El ejemplo de arriba por seguridad sólo utilice hasta que haya agregado permisos a algún usuario o grupo. Después de quitar las líneas

```
'Acl./' => [
          'Permission' => ['index','synchronize'],
          'UserGroupPermission' => ['index','getPermission','addAjax']
      ],
```

Método isAuthorized
-------------------

[](#método-isauthorized)

Para realizar la validación del usuario o grupo, utilice el método isAuthorized del complemento Auth. Agregue en el archivo `AppController.php` el siguiente código.

```
    public function isAuthorized($user)
    {
        if(!$this->Acl->check()) {
            $this->Flash->error(__('User or group no access permission!'));
            return false;
        }

        return true;
    }
```

Sincronización
--------------

[](#sincronización)

Para sincronizar los controllers y actions basta ir a la dirección: `/acl/permission` hacer clic en el enlace de sincronización es importante que el usuario tenga permiso de acceso al controlador `Permission` y Actions `index` y `synchronize`

Administrar permisos
--------------------

[](#administrar-permisos)

Para gestionar los permisos de los usuarios o grupos basta con ir a la dirección: `/acl/user-group-permission`Seleccione el usuario o el grupo y los permisos. Para funcionar el usuario hay que haber sincronizado los permisos y tener permiso de acceso al usuario controlador `UserGroupPermission` y Actions `index`, `getPermission` y `addAjax`

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 78% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2988d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d612b1a83e39b4059c0578592b794a15ad78692aa64838f2078b95b92a69619e?d=identicon)[carlose119](/maintainers/carlose119)

---

Top Contributors

[![abreu1234](https://avatars.githubusercontent.com/u/5509247?v=4)](https://github.com/abreu1234 "abreu1234 (32 commits)")[![carlose119](https://avatars.githubusercontent.com/u/29585287?v=4)](https://github.com/carlose119 "carlose119 (9 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/carlose119-acl/health.svg)

```
[![Health](https://phpackages.com/badges/carlose119-acl/health.svg)](https://phpackages.com/packages/carlose119-acl)
```

###  Alternatives

[friendsofcake/cakepdf

CakePHP plugin for creating and/or rendering Pdfs, several Pdf engines supported.

3752.1M3](/packages/friendsofcake-cakepdf)[cakephp/bake

Bake plugin for CakePHP

11211.2M158](/packages/cakephp-bake)[dereuromark/cakephp-tools

A CakePHP plugin containing lots of useful and reusable tools

338920.1k32](/packages/dereuromark-cakephp-tools)[dereuromark/cakephp-queue

The Queue plugin for CakePHP provides deferred task execution.

308850.3k14](/packages/dereuromark-cakephp-queue)[dereuromark/cakephp-ide-helper

CakePHP IdeHelper Plugin to improve auto-completion

1862.1M27](/packages/dereuromark-cakephp-ide-helper)[dereuromark/cakephp-tinyauth

A CakePHP plugin to handle user authentication and authorization the easy way.

129228.6k10](/packages/dereuromark-cakephp-tinyauth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
