Download the PHP package ivanamat/cakephp3-aclmanager without Composer
On this page you can find all versions of the php package ivanamat/cakephp3-aclmanager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package cakephp3-aclmanager
CakePHP 3.x Acl Manager
Installation
Composer
You can install this plugin into your CakePHP application using composer.
The recommended way to install composer packages is:
Git submodule
Manual installation
Download the .zip or .tar.gz file, unzip and rename the plugin folder "cakephp3-aclmanager" to "AclManager" then copy the folder to your plugins folder.
Getting started
- Install the CakePHP ACL plugin by running composer require cakephp/acl. Read Acl plugin documentation.
- Set AclManager configuration. AclManager.aros. Must be specified before load plugin.
- Load the Acl and AclManager plugins in app/config/bootstrap.php.
Warning: It is not recommended to use Plugin::loadAll();. if you use Plugin::loadAll(); make sure it will not load any plugin several times with Plugin::load('PluginName').
Configuration parameters
Must be specified before load plugin.
-
AclManager.aros Required. Sets the AROs to be used. The value of this parameter must be an array with the names of the AROs to be used.
-
AclManager.admin Optional. Set 'admin' prefix. The value of this parameter must be boolean.
-
AclManager.hideDenied Hide plugins, controllers and actions denied in ACLs lists.
- AclManager.ignoreActions Ignore all plugins, controllers and actions you don't want to add to your ACLs. The value of this parameter must be an array.
Creating ACL tables
To create ACL related tables, run the following Migrations command.
bin/cake migrations migrate -p Acl
Example schema
An example schema based on Groups, Roles and Users.
Auth
Include and configure the AuthComponent and the AclComponent in the AppController.
Model Setup
Acting as a requester
Add $this->addBehavior('Acl.Acl', ['type' => 'requester']); to the initialize function in the files src/Model/Table/GroupsTable.php, src/Model/Table/RolesTable.php and src/Model/Table/UsersTable.php.
Implement parentNode function in Group entity
Add the following implementation of parentNode to the file src/Model/Entity/Group.php.
Implement parentNode function in Role entity
Add the following implementation of parentNode to the file src/Model/Entity/Role.php.
Implement parentNode function in User entity
Add the following implementation of parentNode to the file src/Model/Entity/User.php.
Create a group, role, and user.
Allow all. Add in AppController.php.
Now create a group, role, and user.
Access the plugin
Now navigate to http://www.domain.com/AclManager ( or http://www.domain.com/admin/AclManager If AclManager.admin is set to true ), just click "Update ACOs and AROs and set default values", after update ACOs and AROs, remove $this->Auth->allow() from AppController.php and enjoy!
Known issues
- Not known.
Changelog
v1.3
Added
- AclManager.hideDenied Hide plugins, controllers and actions denied in ACLs lists.
Changed
-
AclManager.ignoreActions Ignore all plugins, controllers and actions you don't want to add to your ACLs.
- Updated indexctp and permissioins.ctp: Show or hide ACLs that do not have permissions in the ACL list. Show flash messages below the actions panel.
- Fixed acoUpdate syncronization.
About CakePHP 3.x Acl Manager
CakePHP 3.x - AclManager is a single plugin for manage CakePHP 3.x ACLs, based on the original idea of Frédéric Massart (FMCorz) for CakePHP 2.x.
This project will be deprecated in favor of CakePHP 4.x - AclManager.
All code will be moved to the repository https://github.com/ivanamat/cakephp-aclmanager in order to continue future versions.
Author
Iván Amat on GitHub
www.ivanamat.es
Licensed
All versions of cakephp3-aclmanager with dependencies
composer/installers Version *
cakephp/cakephp Version ~3.0
cakephp/plugin-installer Version ~1.0
cakephp/acl Version ~0.2