Archived
1
0
Fork 0
This repository has been archived on 2026-04-03. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
httpcb/app/library/Acl/Acl.php
2017-09-01 17:10:27 +02:00

53 lines
1.1 KiB
PHP

<?php
namespace Acl;
use Phalcon\Acl\Role;
use Phalcon\Acl\Adapter\Memory as AclList;
class Acl extends AclList
{
const ROLE_USER = 'user';
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');
$this->addRole($guest);
$this->addRole($user, $guest);
$public = array(
'index',
'error',
'auth',
'api',
);
// Public Resources
foreach($public as $resource) {
$this->addResource($resource, 'Read');
$this->allow($guest->getName(), $resource, 'Read');
}
$protected = array(
'callback',
'user',
);
foreach($protected as $resource) {
$this->addResource($resource, 'Read');
$this->allow($user->getName(), $resource, 'Read');
}
}
}