Esto es muy simple. Puedo escribir¿Cómo funciona el almacenamiento Zend_Auth?
$auth->getStorage()->write($user);
y luego quiero, en un proceso separado para cargar este $ usuario, pero no puedo porque
$user = $auth->getIdentity();
está vacía. ¿No acabo de ... ESTABLECERLO? Por que no funciona? Halp?
[EDIT 2011-04-13]
Esto se ha preguntado hace casi dos años. Sin embargo, el hecho es que repetí la pregunta en julio de 2010 y obtuve una respuesta fantástica que en ese momento simplemente no entendía.
Enlace: Zend_Auth fails to write to storage
Desde entonces he construido una clase litte muy agradable que yo uso (a veces con ajustes extra) en todos mis proyectos usando el mismo motor de almacenamiento como Zend_Auth pero eludiendo todo lo malo.
<?php
class Qapacity_Helpers_Storage {
public function save($name = 'default', $data) {
$session = new Zend_Session_Namespace($name);
$session->data = $data;
return true;
}
public function load($name = 'default', $part = null) {
$session = new Zend_Session_Namespace($name);
if (!isset($session->data))
return null;
$data = $session->data;
if ($part && isset($data[$part]))
return $data[$part];
return $data;
}
public function clear($name = 'default') {
$session = new Zend_Session_Namespace($name);
if (isset($session->data))
unset($session->data);
return true;
}
}
?>
El otro problema podría ser que el almacenamiento (y Zend_Auth) no tienen la misma configuración. Escribiendo en un lugar, leyendo en otro. – AsTeR