Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/05/2010, 09:18
Avatar de nohumans
nohumans
 
Fecha de Ingreso: mayo-2010
Ubicación: España
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con Modulos en Zend Framework

Hola!
Acertar con tu problema sin poder "debujearlo" ni tenerlo todo, resulta un poco difícil, sin ser yo ningún guru del ZF, se me antoja tu código algo raro, deberías repasar el proceso "Dispach", el predispach() del plugin se ejecuta antes que el controler con lo cual puedes entrar en un bucle sin fin.
Según veo, lo común es controlar el proceso de privilegios a nivel de Controlador, no a tan bajo nivel de un Plugin yo por ejemplo tengo estas clases :

Código PHP:
Ver original
  1. class Valclip_Controller_Action extends Zend_Controller_Action
  2.          class Valclip_Controller_Admin extends Valclip_Controller_Action
  3.          class Valclip_Controller_Ajax extends Valclip_Controller_Action
  4.                       abstract class Valclip_Controller_Editor extends Valclip_Controller_Admin

Dentro de Action realizo las comprobaciones (en seu do codigo)

Código PHP:
Ver original
  1. class Valclip_Controller_Action extends Zend_Controller_Action
  2. {
  3.   public function init ()
  4.     {
  5.         .......
  6.         $service = Valclip_Service_ServiceAbstract::getService(
  7.             'Default_Service_Users'
  8.         );
  9.         $this->_actualUser = $service->getCurrentUser();
  10.         // Usuario Actual
  11.         if (Zend_Auth::getInstance()->hasIdentity()) {
  12.             $this->view->user = $this->_actualUser;
  13.         }
  14.         $acl = $service->getAcl();
  15.         $this->view->navigation()
  16.             ->setAcl($acl)
  17.             ->setRole($this->_actualUser->getRoleId());
  18.      .....
  19.  
  20.     }
  21.  
  22. }


Posteriormente heredando de una clase u otra todo funciona. Si estas interesado en este sistema, me lo dices y te mando por un privado una URL de un tipo Alemán buenísimo donde puedes bajarte toda su web y tomar ese código como punto de partida de cualquier proyecto con las necesidades básicas resueltas. (parece ser que a los administradores de este foro les sienta mal que se pongan links ...)


Saludos