Esempio n. 1
0
 /**
  * Método para verificar si tiene acceso al recurso
  * @return boolean
  */
 public function check($perfil)
 {
     $modulo = Router::get('module');
     $controlador = Router::get('controller');
     $accion = Router::get('action');
     if (isset($this->_templates["{$perfil}"]) && !Input::isAjax()) {
         View::template("backend/{$this->_templates["{$perfil}"]}");
     }
     if ($modulo) {
         $recurso1 = "{$modulo}/{$controlador}/{$accion}";
         //Por si tiene acceso a una única acción
         $recurso2 = "{$modulo}/{$controlador}/*";
         //por si tiene acceso a todas las acciones
         $recurso3 = "{$modulo}/*/*";
         //por si tiene acceso a todos los controladores
         $recurso4 = "*";
         //por si tiene acceso a todo el sistema
     } else {
         $recurso1 = "{$controlador}/{$accion}";
         //Por si tiene acceso a una única acción
         $recurso2 = "{$controlador}/*";
         //por si tiene acceso a todas las acciones
         $recurso3 = "{$modulo}/*/*";
         //por si tiene acceso a todos los controladores
         $recurso4 = "*";
         //por si tiene acceso a todo el sistema
     }
     //MkcMessage::info("Perfil: $perfil <br /> Recurso 1: $recurso1 <br /> Recurso 2: $recurso2 <br /> Recurso 3: $recurso3 <br /> Recurso 4: $recurso4");
     return self::$_acl->check($recurso1, $perfil) || self::$_acl->check($recurso2, $perfil) || self::$_acl->check($recurso3, $perfil) || self::$_acl->check($recurso4, $perfil);
 }
Esempio n. 2
0
{
    global $logger;
    $logger->doLog(Logger::LOG_ERR, $str);
}
function logException(Exception $e)
{
    global $logger;
    $logger->logException($e);
}
// Initialize locale and region objects
LocaleManager::init();
RegionManager::init();
// Start session
AuthHandler::init();
// Initialize the ACL
$acl = new SimpleAcl();
$acl->addRole(ROLE_GUEST);
$acl->addRole(ROLE_AUTHORIZED_ACCESS, ROLE_GUEST);
$acl->addRole(ROLE_IDENTIFIED, ROLE_GUEST);
$acl->addRole(ROLE_IDENTIFIED_REGISTERED, ROLE_IDENTIFIED);
$acl->addRole(ROLE_ADMINISTRATOR, ROLE_IDENTIFIED_REGISTERED);
if (ENV === ENV_DEVELOPMENT) {
    $acl->addResource(ROLE_GUEST, array('webres.php', 'test.php'));
}
$acl->addResource(ROLE_GUEST, array('auth.php', 'optout.php'));
if (getConfiguration('auth.mode') == AuthHandler::AUTH_MODE_PASS) {
    $acl->addResource(ROLE_GUEST, array('join.php', 'help.php', 'AddRideAll.php', 'GetRegionConfiguration.php'));
} else {
    if (AuthHandler::getAuthMode() == AuthHandler::AUTH_MODE_TOKEN) {
        $acl->addResource(ROLE_GUEST, array('join.php', 'help.php', 'index.php', 'AddRideAll.php', 'feedback.php', 'SearchRides.php', 'GetRegionConfiguration.php'));
    }
Esempio n. 3
0
 function testSetters()
 {
     $acl = new SimpleAcl();
     $roles = array(ROLE_GUEST => array(ROLE_GUEST), ROLE_IDENTIFIED => array(ROLE_IDENTIFIED));
     $accessList = array('resource1' => array(ROLE_GUEST), 'resource2' => array(ROLE_GUEST, ROLE_IDENTIFIED));
     $acl->setRoles($roles);
     $acl->setAcl($accessList);
     $this->assertTrue($acl->isAllowed(ROLE_GUEST, 'resource1'));
     $this->assertFalse($acl->isAllowed(ROLE_IDENTIFIED, 'resource1'));
     $this->assertTrue($acl->isAllowed(ROLE_GUEST, 'resource2'));
     $this->assertTrue($acl->isAllowed(ROLE_IDENTIFIED, 'resource2'));
 }