Foros del Web » Programando para Internet » PHP » Zend »

ayuda como usar zend Acl

Estas en el tema de ayuda como usar zend Acl en el foro de Zend en Foros del Web. amigos alguno sabe como usar zend acl si lo estoy usando con zend framework usando el pratron mvc $this->view->someUser = $acl->isAllowed('someUser', 'someResource') ? 'allowed' : ...
  #1 (permalink)  
Antiguo 20/04/2009, 20:26
Avatar de zfStuden  
Fecha de Ingreso: abril-2009
Mensajes: 109
Antigüedad: 15 años
Puntos: 0
ayuda como usar zend Acl

amigos alguno sabe como usar zend acl si lo estoy usando con zend framework
usando el pratron mvc
$this->view->someUser = $acl->isAllowed('someUser', 'someResource') ? 'allowed' : 'denied';
$this->view->guest = $acl->isAllowed('guest', 'someResource') ? 'allowed' : 'denied';

que puedo poner en someResource osea como los puedo usar por ejemplo con
.miproyecto.com/aplicacion/micontrolador/indexAction
  #2 (permalink)  
Antiguo 20/04/2009, 21:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ayuda como usar zend Acl

Hola zfStuden,

Hay muchas formas de integrar el Zend_Acl con el patrón MVC, la que yo ocupo en mis proyectos es la siguiente: http://devzone.zend.com/article/3509...rt-I-Basic-Use.

Espero te pueda servir de guia para integrarlo.

Saludos.
  #3 (permalink)  
Antiguo 20/04/2009, 21:16
Avatar de zfStuden  
Fecha de Ingreso: abril-2009
Mensajes: 109
Antigüedad: 15 años
Puntos: 0
muchas gracias por el post anterior pero me gustaria saber como bloquear un layout solo por curiosidad con zend Acl o es que solo bloqueo el controlador con las acciones esto se puede ya que el layout lo que hace es mostrar un recurso

muchas gracias amigo interesante el articulo sos todo un pro en esto

Última edición por GatorV; 20/04/2009 a las 21:38
  #4 (permalink)  
Antiguo 20/04/2009, 21:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ayuda como usar zend Acl

Mmm a que te refieres a bloquear el Layout?, puedes usar desde tu template por ejemplo: <?php $this->layout()->disableLayout(); ?> eso previene mostrar el layout, o usar setLayout para cambiarlo por otro.

Saludos.
  #5 (permalink)  
Antiguo 20/04/2009, 21:43
Avatar de zfStuden  
Fecha de Ingreso: abril-2009
Mensajes: 109
Antigüedad: 15 años
Puntos: 0
Respuesta: ayuda como usar zend Acl

mm pero puede hacerse como una autorizacion con el zend Acl lo que pasa es que parece que solo funciona con los controllers no veo ejemplos con el layout que usen el acl, mas bien quiero bloquear un modulo con zend acl asi como se hace en symfony puede suceder eso en zend framework solo es un trukito que quiero aprender para aprender hacer plugines XD

Última edición por zfStuden; 20/04/2009 a las 21:46 Razón: me falto texto
  #6 (permalink)  
Antiguo 21/04/2009, 08:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ayuda como usar zend Acl

Pues si haces un ViewHelper es muy posible hacerlo, en el link que te pase estan ejemplos a dos clases, uno es un plugin para el FrontController, y el otro es un Action Helper, con estos dos puedes desarrollar lo que quieres.

Ahora recuerda que la idea es que tu capa de logica este en el action de tu controller, y en el template renderees ya los modulos que quieras, yo por ejemplo hago algo así:

(Gecko_Controller_Action hereda directamente de Zend_Controller_Action)
Código php:
Ver original
  1. <?php
  2.  
  3. class NavController extends Gecko_Controller_Action {
  4.     public function menuAction() {
  5.         $aMenuItems = array();
  6.        
  7.         if ($this->_application->isLoggedIn == true) {
  8.             switch ($this->_application->user->getUserGroup()) {
  9.                 case 'user':
  10.                     $aMenuItems[] = array( 'label' => 'News', 'url' => array( 'controller' => 'news', 'action' => 'index' ), 'image' => 'news.gif' );
  11.                     break;
  12.                 case 'admin':
  13.                     $aMenuItems[] = array( 'label' => 'User', 'url' => array( 'controller' => 'admin', 'action' => 'users' ), 'image' => 'users.gif' );
  14.                     break;
  15.             }
  16.         } else {
  17.             $aMenuItems[] = array( 'label' => 'Login', 'url' => array( 'controller' => 'login', 'action' => 'login' ), 'image' => 'login.gif' );
  18.         }
  19.        
  20.         $this->view->menuItems = $aMenuItems;
  21.     }
  22. }

Así dependiendo en el menu puedo comparar si tiene o no permisos para cierto modulo del programa y dibujo / oculto el item del menu.

Saludos.
  #7 (permalink)  
Antiguo 21/04/2009, 09:33
Avatar de zfStuden  
Fecha de Ingreso: abril-2009
Mensajes: 109
Antigüedad: 15 años
Puntos: 0
Respuesta: ayuda como usar zend Acl

mm interesante XD
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:34.