Cita:
Iniciado por masterpuppet Habria que ver donde definis a $auth, deberia ser algo asi:
Saludos.
Tal cual lo tengo instanciado al objeto $auth.
Dejo el código completo por las dudas:
Código PHP:
$namespace = new Zend_Session_Namespace('usuario');
$resource = $this->getInvokeArg('bootstrap')->getPluginResource('multidb');
// Don't forget to initialize the resource first
$resource->init();
// Creamos un adaptador de Zend_Auth para consultar una tabla de la base de datos
$authAdapter = new Zend_Auth_Adapter_DbTable(
$resource->getDb(),
'usuarios',
'user',
'password',
'activo = "TRUE"'
);
$authAdapter
->setIdentity($values['user'])
->setCredential(md5($values['password']));
// Recogemos Zend_Auth
$auth = Zend_Auth::getInstance();
// Realiza la comprobación con el adaptador que hemos creado
$result = $auth->authenticate($authAdapter);
switch ($result->getCode()) {
case Zend_Auth_Result::SUCCESS:
// Recoge los valores de las columnas del registro de la Base de Datos y
// los almacena como identidad en Zend_Auth, para un uso posterior con getIdentity()
$data = $authAdapter->getResultRowObject(array('nombre', 'user', 'email'));
$storage = $auth->getStorage()->write($data);
var_dump($storage);
$infoUsuario = Zend_Auth::getInstance()->getIdentity();
var_dump($infoUsuario);
// Bloqueamos la escritura
$namespace->lock();
//$this->_helper->redirector('index', 'usuario');
break;
case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID:
$view->content = 'The Credential you provided did not pass validation.';
break;
case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND:
$view->content = 'El usuario que proporcionó no existe.';
break;
case Zend_Auth_Result::FAILURE:
$view->content = 'There was an error processing your credentials.';
break;
default:
$view->content = $result->getMessages();
break;
}