C'est très simple. J'écrisComment fonctionne le stockage Zend_Auth?
$auth->getStorage()->write($user);
Et puis je veux, dans un processus séparé pour charger cet utilisateur de $, mais je ne peux pas parce que
$user = $auth->getIdentity();
est vide. N'ai-je pas juste ... SET? Pourquoi ça ne marche pas? Halp?
[EDIT 2011-04-13]
Cela a été demandé il y a près de deux ans. Le fait est, cependant, que j'ai répété la question en juillet 2010 et obtenu une réponse fantastique que je ne comprenais tout simplement pas à l'époque.
Lien: Zend_Auth fails to write to storage
J'ai depuis construit une très belle classe litte que j'utilise (parfois avec peaufinage supplémentaire) dans tous mes projets en utilisant le même moteur de stockage Zend_Auth mais contournent tous les mauvais.
<?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;
}
}
?>
L'autre problème pourrait être que le stockage (et Zend_Auth) n'a pas la même configuration. Écrire sur un lieu, en lisant un autre. – AsTeR