В моем entry
контроллере, который я установил:
Это работает:
$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');
Это не:
$authadapter = new Test_Auth_Adapter_DbTable($db);
$auth = Zend_Auth::getInstance();
$auth->setStorage(new Zend_Auth_Storage_Session('Test_User')); //the only difference
$result = $auth->authenticate($authadapter);
$data = $authadapter->getResultRowObject(null, 'password');
$auth->getStorage()->write($data);
$this->_redirector->gotoUrl('/main');
Я вижу его установленным в$ _SESSION var со всеми правильными данными, когда я использую отладчик, но после того, как данные заданы и я перенаправляю в нужное место назначения, переменная $ _SESSION больше не устанавливается, поэтому я не могу получить доступ к вещам!
Страница, перенаправляемая на проверку подлинности с помощью:
$this->auth = Zend_Auth::getInstance();
if (!$this->auth->hasIdentity()) {
$this->_redirector->gotoUrl('/entry');
}
Почему это не работает?