app/library/Acl.php: some cleanup.
This commit is contained in:
parent
d6dbb6e085
commit
694eac24ef
1 changed files with 14 additions and 16 deletions
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
namespace Httpcb;
|
namespace Httpcb;
|
||||||
|
|
||||||
use Phalcon\Acl\Role;
|
use Phalcon\Acl\Role,
|
||||||
use Phalcon\Acl\Adapter\Memory as AclList;
|
Phalcon\Acl\Adapter\Memory as AclList;
|
||||||
|
|
||||||
class Acl extends AclList
|
class Acl extends AclList
|
||||||
{
|
{
|
||||||
|
|
@ -11,22 +11,18 @@ class Acl extends AclList
|
||||||
const ROLE_GUEST = 'guest';
|
const ROLE_GUEST = 'guest';
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
|
||||||
$this->_build();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function _build()
|
|
||||||
{
|
{
|
||||||
// Deny access to everything by default.
|
// Deny access to everything by default.
|
||||||
$this->setDefaultAction(\Phalcon\Acl::DENY);
|
$this->setDefaultAction(\Phalcon\Acl::DENY);
|
||||||
|
|
||||||
// Roles
|
// Roles
|
||||||
$user = new Role('user');
|
$guest = new Role(self::ROLE_GUEST);
|
||||||
$guest = new Role('guest');
|
$user = new Role(self::ROLE_USER);
|
||||||
|
|
||||||
$this->addRole($guest);
|
$this->addRole($guest);
|
||||||
$this->addRole($user, $guest);
|
$this->addRole($user, $guest);
|
||||||
|
|
||||||
|
// Public Resources
|
||||||
$public = array(
|
$public = array(
|
||||||
'index',
|
'index',
|
||||||
'error',
|
'error',
|
||||||
|
|
@ -34,20 +30,22 @@ class Acl extends AclList
|
||||||
'api',
|
'api',
|
||||||
);
|
);
|
||||||
|
|
||||||
// Public Resources
|
$this->_grant($guest, $public);
|
||||||
foreach($public as $resource) {
|
|
||||||
$this->addResource($resource, 'Read');
|
|
||||||
$this->allow($guest->getName(), $resource, 'Read');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Protected Resources
|
||||||
$protected = array(
|
$protected = array(
|
||||||
'callback',
|
'callback',
|
||||||
'user',
|
'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->addResource($resource, 'Read');
|
||||||
$this->allow($user->getName(), $resource, 'Read');
|
$this->allow($role->getName(), $resource, 'Read');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue