La cuestion es asi, he creado un menu con zend_navigation y determinadas urls se tienen que ver o no segun el rol del usuario.
Tengo 3 roles: 'invitado', 'usuario' y 'administra'.
El problema es que en los links que tengo restricciones para "invitado", y si se debieran ver con "usuario", no se ven (si se ven con "administra").
Aqui les pongo el codigo, como verán
Código PHP:
Ver original
class Mis_Acl extends Zend_Acl { public function __construct(Zend_Auth $auth) { //$roleGuest = new Zend_Acl_Role('guest'); $this->add( new Zend_Acl_Resource( 'default:index' ) ); $this->add( new Zend_Acl_Resource( 'moduno:index' ) ); $this->addRole( new Zend_Acl_Role( 'invitado' ) ); $this->addRole( new Zend_Acl_Role( 'usuario' ), 'invitado' ); $this->addRole( new Zend_Acl_Role( 'administra' ), 'usuario' ); // Guest may only view content (privileges) $this->allow( 'invitado', 'default:index','index'); $this->allow( 'invitado', 'default:index','pruebaform'); $this->allow( 'invitado', 'default:index','jqueryprueba'); $this->allow( 'invitado', 'default:index','atras'); $this->allow( 'invitado', 'default:index','login'); $this->allow( 'usuario', 'default:index','autorizado'); $this->allow( 'invitado', 'default:index','logout'); $this->allow( 'invitado', 'moduno:index','index'); $this->allow( 'invitado', 'moduno:index','segundo'); $this->allow( 'invitado', 'moduno:index','librovisitas'); $this->allow( 'invitado', 'moduno:index','comentarios'); $this->allow( 'invitado', 'moduno:index','octubre'); $this->allow( 'administra'); // unrestricted access } }
navigation.xml
Código PHP:
Como verán en los privilegios del acl el action "autorizado" esta permitido para "usuario", pero en el menú no se ven esos links.Ver original
<?xml version="1.0" encoding="UTF-8"?> <configdata> <nav> <home> <label>Home</label> <module>default</module> <controller>index</controller> <action>index</action> <pages> <autoriza> <label>Autorizado</label> <module>default</module> <controller>index</controller> <action>autorizado</action> <resource>default:index</resource> <privilege>usuario</privilege> </autoriza> <logout> <label>Logout</label> <module>default</module> <controller>index</controller> <action>logout</action> <resource>default:index</resource> <privilege>usuario</privilege> </logout> </pages> </home> <moduno> <label>Moduno</label> <module>moduno</module> <controller>index</controller> <action>index</action> <pages> <segundo> <label>Segundo</label> <module>moduno</module> <controller>index</controller> <action>segundo</action> </segundo> <librovisitas> <label>Librovisitas</label> <module>moduno</module> <controller>index</controller> <action>librovisitas</action> </librovisitas> <comentarios> <label>Comentarios</label> <module>moduno</module> <controller>index</controller> <action>comentarios</action> </comentarios> <octubre> <label>Octubre</label> <module>moduno</module> <controller>index</controller> <action>octubre</action> </octubre> </pages> </moduno> </nav> </configdata>
Si alguien que ha trabajado con el navigation entiende el problema, le agradezco la ayuda, saludos.