Auth

Postado 15 de julho de 2011 Por Marco A. Braghim

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'
);

Deixe uma resposta

WP-Highlight