PHP code example of ripaclub / aclman
1. Go to this page and download the library: Download ripaclub/aclman library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ripaclub / aclman example snippets
'abstract_factories' => [
'AclMan\Service\ServiceFactory',
'AclMan\Storage\StorageFactory'
],
'factories' => [
'AclMan\Assertion\AssertionManager' => 'AclMan\Assertion\AssertionManagerFactory'
]
'aclman_services' => [
'AclService\Ex1' => [
'storage' => 'AclStorage\Ex1',
'plugin_manager' => 'AclMan\Assertion\AssertionManager',
],
]
'aclman-assertion-manager' => [
'invokables' => [
'assertAlias' => 'assertionClass',
...
...
]
]
'aclman_storage' => [
'AclStorage\Ex1' => [
'roles' => [
// Config specific permission for role Role1 to resources Resource1 and Resource2
'Role1' => [
'resources' => [
'Resource1' => [
[
'assert' => null,
'allow' => true,
'privilege' => 'add'
]
],
'Resource2' => [
[
'assert' => [
'assertAlias' => [
'config' => 'test'
],
],
'allow' => true,
'privilege' => 'view'
]
]
],
],
// Config specific permission for all roles to resource Resource1 (e.x public resource)
StorageInterface::ALL_ROLES => [
'resources' => [
'Resource3' => [
[
'allow' => true,
]
],
]
],
// Config specific permission for Admin to all resource (e.x access to al resource to the admin)
'Admin' => [
'resources' => [
StorageInterface::ALL_RESOURCES => [
[
'allow' => true,
]
],
]
],
],
],
]
$aclService1 = $serviceLocator->get('AclService\Ex1');
$aclService1->isAllowed('Role1', 'Resource1', 'view'); // FALSE
$aclService1->isAllowed('Role1', 'Resource1', 'add'); // TRUE
// ...
$aclService1 = $serviceLocator->get('AclService\Ex1');
$aclService1->isAllowed('Role1', 'Resource1', 'add'); // TRUE
$aclService1->isAllowed('Role1', 'Resource2', 'view'); // FALSE
// ...