Recuerda que Zend tiene explicitamente un manejo de permisos para ello:
Código PHP:
Ver original<?php
$Acl = new Zend_Acl();
$Acl->addResource(new Zend_Acl_Resource('customer'));
$Acl->addResource(new Zend_Acl_Resource('employee'));
$Cust = new Zend_Acl_Role('customer');
$Employee = new Zend_Acl_Role('employee');
$Acl->addRole($Cust);
$Acl->addRole($Employee, $Cust);
$Acl->allow('customer', 'customer', 'view');
$Acl->allow('employee', 'customer', array('add', 'edit')); // view es "heredado"
var_dump($Acl->isAllowed($Cust, 'customer', 'view')); var_dump($Acl->isAllowed($Employee, 'customer', 'view'));
var_dump($Acl->isAllowed($Cust, 'customer', 'add')); var_dump($Acl->isAllowed($Employee, 'customer', 'add'));