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

Zend Framework y Zend_Auth

Estas en el tema de Zend Framework y Zend_Auth en el foro de Zend en Foros del Web. Hola, vuelvo con otra consulta. Estoy utilizando el Zend_Auth para autentificar mis usuarios. Cuando hago la autentificacion, si es un usuario valido, guardo los datos ...
  #1 (permalink)  
Antiguo 20/10/2007, 03:00
 
Fecha de Ingreso: enero-2004
Ubicación: Argentina, Buenos Aires, Mar del Plata
Mensajes: 38
Antigüedad: 20 años, 11 meses
Puntos: 0
Pregunta Zend Framework y Zend_Auth

Hola, vuelvo con otra consulta. Estoy utilizando el Zend_Auth para autentificar mis usuarios. Cuando hago la autentificacion, si es un usuario valido, guardo los datos de esa tabla en una especie de session que me es brindada por el ZF.
Hasta aca todo bien, pero mi problema es que quiero usar otra tabla relacionada a la de usuarios para poder guardar dentro de los datos del usuario validado un par de datos mas. Como deberia hacer esto? Trate de buscar información y probe ciertas cosas pero sin exito.

Codigo:
Código PHP:
Zend_Loader::loadClass('Zend_Auth_Adapter_DbTable');
$dbAdapter Zend_Registry::get('dbAdapter');
$autAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$autAdapter->setTableName('usuarios');
$autAdapter->setIdentityColumn('usuario');
$autAdapter->setCredentialColumn('contrasena');

$autAdapter->setIdentity($usuario);
$autAdapter->setCredential($password);

$aut Zend_Auth::getInstance();
$result $aut->authenticate($autAdapter);

                if (
$result->isValid()) {

                    
// Aca intento hacer algo pero sin exito
                    // Mi idea era buscar la columna que se relaciona en la tabla personas y agregarla en el storage, pero todavia no puedo sacar una conclusion de como hacerlo
                    //Zend_Loader::loadClass('Personas');
                    //$personas = new Personas();
                    //$rows = $personas->find(idUsuario);

                    
$data $autAdapter->getResultRowObject(null'contrasena');
                    
$aut->getStorage()->write($data);
                    
$this->_redirect('/');
                } 
Saludos,
Fernando.
  #2 (permalink)  
Antiguo 20/10/2007, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Zend Framework y Zend_Auth

En tu ejemplo tienes la respuesta, solo seria que fusionaras $data y $rows para guardarlo en la session.

Adicionalmente puedes crear tu propio Auth Adapter para que te regrese los datos necesarios.

Saludos.
  #3 (permalink)  
Antiguo 20/10/2007, 14:58
 
Fecha de Ingreso: enero-2004
Ubicación: Argentina, Buenos Aires, Mar del Plata
Mensajes: 38
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: Zend Framework y Zend_Auth

Esta bien, trate con array_merge() para fusionar $data y $rows pero sin exito. No me guarda la session.
Esta mal usar esta funcion para fusionarlos ?

Código PHP:
if ($result->isValid()) {
  
Zend_Loader::loadClass('Personas');
  
$personas = new Personas();
  
$rows $personas->find(1);
                    
  
$data $autAdapter->getResultRowObject(null'contrasena');

  
$alldata array_merge((array)$data,(array)$rows);

  
$aut->getStorage()->write($alldata);
  
$this->_redirect('/');

Recibo este mensaje:
Message: You cannot serialize or unserialize PDO instances
  #4 (permalink)  
Antiguo 20/10/2007, 16:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Zend Framework y Zend_Auth

Deberias de ver que tipos de datos son $rows y $data, ya que parece ser que a la hora de querer guardarlos en la session son objetos tipo PDO y no arrays completos.

Saludos.
  #5 (permalink)  
Antiguo 20/10/2007, 18:24
 
Fecha de Ingreso: enero-2004
Ubicación: Argentina, Buenos Aires, Mar del Plata
Mensajes: 38
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: Zend Framework y Zend_Auth

Si, es verdad. Hoy ya es tarde y no voy a tocar mas codigo, pero mañana le doy una revisada y me fijo si puedo solucionarlo.
Cuando tenga alguna novedad la posteo.

Muchas gracias!!
  #6 (permalink)  
Antiguo 20/10/2007, 22:00
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 21 años
Puntos: 8
Re: Zend Framework y Zend_Auth

Código PHP:
$rows $personas->find(1); 
$rows entrega un objeto (Zend_Db_Table_Rowset_Abstract) que tiene como propiedad el objeto Zend_Db_Adapter_Pdo_Abstract (PDO Object), razón por la cual no puedes serializar el objeto $rows (Zend_Db_Table_Rowset_Abstract). Según el manual de PHP dice: No es posible seriar objetos integrados de PHP (PDO es uno de ellos ).

Última edición por zsamer; 21/10/2007 a las 09:37
  #7 (permalink)  
Antiguo 21/10/2007, 13:52
 
Fecha de Ingreso: enero-2004
Ubicación: Argentina, Buenos Aires, Mar del Plata
Mensajes: 38
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: Zend Framework y Zend_Auth

Excelente aporte, gracias. Entonces por lo visto debere recorrerlo para ir asignando manualmente los datos al arreglo.
Luego lo hago y me fijo si funciona.

Saludos,
Fernando.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 06:08.