From 694eac24ef6b0d8e6b21ebc79174dd27dbb77c5a Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Fri, 10 Aug 2018 02:23:06 +0200 Subject: [PATCH] app/library/Acl.php: some cleanup. --- app/library/Acl.php | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/app/library/Acl.php b/app/library/Acl.php index 6e1458d..be6ed5d 100644 --- a/app/library/Acl.php +++ b/app/library/Acl.php @@ -2,8 +2,8 @@ namespace Httpcb; -use Phalcon\Acl\Role; -use Phalcon\Acl\Adapter\Memory as AclList; +use Phalcon\Acl\Role, + Phalcon\Acl\Adapter\Memory as AclList; class Acl extends AclList { @@ -11,22 +11,18 @@ class Acl extends AclList const ROLE_GUEST = 'guest'; public function __construct() - { - $this->_build(); - } - - protected function _build() { // Deny access to everything by default. $this->setDefaultAction(\Phalcon\Acl::DENY); // Roles - $user = new Role('user'); - $guest = new Role('guest'); + $guest = new Role(self::ROLE_GUEST); + $user = new Role(self::ROLE_USER); $this->addRole($guest); $this->addRole($user, $guest); + // Public Resources $public = array( 'index', 'error', @@ -34,20 +30,22 @@ class Acl extends AclList 'api', ); - // Public Resources - foreach($public as $resource) { - $this->addResource($resource, 'Read'); - $this->allow($guest->getName(), $resource, 'Read'); - } + $this->_grant($guest, $public); + // Protected Resources $protected = array( 'callback', 'user', ); - foreach($protected as $resource) { + $this->_grant($user, $protected); + } + + protected function _grant(Role $role, array $resources) + { + foreach($resources as $resource) { $this->addResource($resource, 'Read'); - $this->allow($user->getName(), $resource, 'Read'); + $this->allow($role->getName(), $resource, 'Read'); } } }