Dans mon contrôleur entry
je mis:Zend_Auth - Quand je mets un espace de stockage personnalisé, il n'existe pas quand je rediriger le navigateur vers un nouveau contrôleur
Cela fonctionne:
$authadapter = new Test_Auth_Adapter_DbTable($db);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authadapter);
$data = $authadapter->getResultRowObject(null, 'password');
$auth->getStorage()->write($data);
$this->_redirector->gotoUrl('/main');
Cela ne signifie pas:
Je peux le voir dans le $ _SESSION var avec toutes les données correctes quand j'utilise un débogueur mais après que les données sont définies et je redirige vers la destination désirée $ _SESSION var n'est plus s et ainsi je ne peux pas accéder aux choses!
La page étant redirigés à des contrôles auth avec:
$this->auth = Zend_Auth::getInstance();
if (!$this->auth->hasIdentity()) {
$this->_redirector->gotoUrl('/entry');
}
Pourquoi pas ce travail?
Cela fait. J'ai supposé qu'appeler setStorage() dans l'action de contrôleur de connexion indiquerait à ZF que cet espace de noms particulier était celui qui existait. Je n'ai pas réalisé que je devais lui dire de l'écrire et lui dire manuellement de le vérifier aussi (puisque c'est automatique avec le Zend_Auth, je supposais que c'était automatique avec n'importe quel espace de noms qui avait été défini). – Lothar
Dans le cas où nous le mettons dans bootstrap, comment pouvons-nous utiliser ce stockage dans le contrôleur à '$ authStorage = $ auth-> getStorage(); $ authStorage-> write ($ identity);'. veuillez guider –