Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2011, 13:20
Avatar de Uncontroled_Duck
Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años, 7 meses
Puntos: 261
Algunas dudas sobre Zend_Acl

Hola a todos,

A raíz de otro tema estoy probando Zend_Acl por recomendación de GatroV, y la verdad es que soluciona con bastante soltura lo que necesito.

Pero antes de montar todo el sistema de permisos, que es algo enrevesado. He leído la documentación de Zend, y algunos tutoriales, ejemplos y demás.

Pero me surgen algunas dudas en cuanto a como estructurarlo y la sintaxis (esto último no viene muy bien explicado en la documentación Zend, o por lo menos, si está me lo he saltado).

1- Al declarar los distintos roles o recursos, hay alguna diferencia en el orden en que se declaran?
Por ejemplo en la herencia múltiple de entre roles si toma en cuenta el orden para dar prioridad.

2- En la sintaxis veo que es así, no se si hay otra forma para declarar los roles.
Código PHP:
$acl->addRole(new Zend_Acl_Role
('ROL') [ , 'ROL_HEREDADO' ó $array_ROLES_HEREDADOS] ); 
3 - En el caso de la sintaxis de "isAllowed" que ponen 3 valores, el último que es?
Código PHP:
$acl->isAllowed('ROL''RECURSO''QUE_ES_ESTE?') ?
 
0

4 - He visto en algunos tutoriales que hablan de Privilegios o permisos para los recursos, imagino que que en definitiva son subrecursos de subrecursos... o es otro tipo de permiso complementario.
Código:
...
Recurso: son las zonas en las que se puede dividir 
la aplicación. Podría ser: editorial, marketing, administracion, …

Subrecursos: son los componentes de los Recursos. Como en 
forma de árbol, son los hijos de los Recursos, y solamente tiene a un 
Recurso como padre.

Permisos: son las acciones concretas que se pueden hacer sobre 
un Subrecurso. 
5 - Y por último, es correcto usarlo así de básico, o se recomienda de otra forma que sea más efectiva?
Código PHP:
if ($acl->isAllowed('ROL''RECURSO') ? 0)
{
    
// Contenido a mostrar

Como os comentaba antes, he visto tutoriales muy elaborados y demás, pero se han olvidado de explicar lo básico...

Gracias de antemano.

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight