Auth
Aqui nós temos o objeto Codepass responsável pelas autenticações (login de usuário) no sistema.
$post = $this->getRequest()->getPost();
if(!empty($post))
{
// Se tiver login limpa o antigo
if(Codepass_Auth::hasAuth()) {
Codepass_Auth::clearAuth();
}
$auth = new Codepass_Auth(
// Tabela do banco com os dados do usuário
'tb_user',
// Campo do banco para credencial e valor para busca
array('email' => $post['username']),
// Campo do banco para senha e valor para validação
array('password'=> $post['password']),
// Se a senha foi salva no banco em modo MD5
true,
// Campos do banco de dados que devem ser gravados na sessão de login
array('id_user', 'name', 'status')
);
// Capturando resultado da autenticação.
switch($auth->getCode())
{
case Codepass_Auth::CREDENTIAL_DUPLICATE:
exit('Credencial duplicada');
break;
case Codepass_Auth::CREDENTIAL_NOT_FOUND:
exit('Credencial nao encontrada');
break;
case Codepass_Auth::PASSWORD_INVALID:
exit('password invalido');
break;
case Codepass_Auth::SUCCESS:
$this->redirect('/');
break;
}
}
Quando houver login armazenado, ao utilizar o objeto Codepass_Auth::getAuth() este deve retornar os dados do usuário logado setados no array de retorno do construtor (5º parâmetro). No caso acima o retorno seria o seguinte array.
array( 'id_user' => 25, 'name' => 'Marco A. Braghim', 'status' => 'Ativo' );