Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Sou iniciante em ZendFramework e to quebrando a cabeça a tempos com um script que desenvolvi aqui com base em modelos e alguns estudos fiz pela net.
Estou fazendo um básico sistema de login pelo Zend usando o módulo de Zend_Auth do próprio.
Acontece que ele autentica aqui mas não grava pra eu resgatar nas outras Actions (Páginas)
Autentica mas não grava, alguém com mais experiência aí consegue ver onde estou errando?
meu script:
<?php
class PainelController extends Zend_Controller_Action{
public function init(){
$auth = Zend_Auth::getInstance();
if(!$auth->hasIdentity()){
echo 'Nenhuma identidade';
}
}
public function indexAction(){
$this->view->formLogin = new Zend_Form_Painel_Login();
}
public function loginAction(){
$form = new Zend_Form_Painel_Login();
if(!$this->_request->isPost())
return false;
$data = $this->_request->getPost();
if( !$form->isValid($data))
return false;
$conexao = Zend_Registry::get('conexao');
$authAdapter = Zend_Registry::get('auth');
$auth = Zend_Auth::getInstance();
$authAdapter->setIdentity($data['usuario'])->setCredential($data['senha'] . KEY_COMPLEMENT);
$result = $auth->authenticate($authAdapter);
if ($result->isValid()){
$authData = $authAdapter->getResultRowObject(null, 'senha');
$auth->getStorage()->write($authData);
if(Zend_Auth::getInstance()->hasIdentity()){
$this->_redirect('painel/home');
}
}
else{
echo 'Os dados informados (e-mail e/ou senha) não são válidos.';
}
}
public function homeAction(){
if(Zend_Auth::getInstance()->hasIdentity()){
echo 'Nome: ' . Zend_Auth::getInstance()->getIdentity()->usuario;
}
}
}
Na minha index eu fiz o adaptador assim:
$registro = Zend_Registry::getInstance();
$authAdapter = new Zend_Auth_Adapter_DbTable(
$conexao,
'admin',
'usuario',
'senha',
'md5(?)'
);
$registro->set('conexao', $conexao);
$registro->set('auth', $authAdapter);
Agradeço desde já
Carregando comentários...