31
Ago
09

Codeigniter – Série de tutoriais – Biblioteca AUTH

Olá cambada. Continuando nosssa série, agora com um post curtinho, mas muito útil. Vamos falar de uma biblioteca bem simples que desenvolvi para me auxiliar na captura de informações do usuário logado. Nós utilizamos a mesma nos posts passados, e eu recebi algumas sugestões através da lista do Codeigniter no Brasil, para que eu explica-se mais a bilioteca.

AUTH

O nome eu dei para ficar referente a autenticação, como muitos devem perceber. A biblioteca possui as seguintes funcionalidades, que eu prefiro chamar de FACILIDADES ;) .

  • Checar se o usuário está logado. Método: check_logged()
  • Trazer informações do usuário logado. Método: authInfo()

Mas não se resume a isso, pois os parâmetros passados nos métodos, podem facilitar ainda mais. Vamos destrinchá-los.

check_logged($return = ”,$controller = ‘login’)

- Podemos observar que a função possui um parâmetro a ser passado opcionalmente. Este parâmetro é responsável pelo tipo de retorno que a função nos dará.
Se nenhum parâmetro for passado a função check_logged(), então a biblioteca fará a verificação seguinte:

Usuário Logado? Retorno: TRUE
Usuário não Logado? Página recarregada para o controller escolhido como segundo parâmetro.

Se o parâmetro for passado como TRUE, teremos:

Usuário Logado? Retorno: TRUE
Usuário não Logado? Retorno: FALSE

Se você pensar um pouco, verá que isso tem uma utilidade gigante, quando você quer por exemplo, restringir acesso a certos controllers da sua aplicação, verificando se o usuário está logado ou não, apenas passando a seguinte linha no construtor:

$this->auth->check_logged(); // A biblioteca se encarrega de tirar o usuário do controller e protege o acesso.

authInfo()

- Nesta função, nós podemos trazer as informações do usuário autenticado no sistema. Caso o mesmo não esteja logado, a função retornará false. Vemos uma das utilidades para esta função, no caso de obter informações para mostrar “bem-vindos”, “tempo de login”, etc.

Código

Agora que já descrevi as funcionalidade/facilidades da biblioteca, vou postar o seu código abaixo:

if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 4.3.2 or newer
 *
 * @package		CodeIgniter
 * @author		ExpressionEngine Dev Team
 * @copyright	Copyright (c) 2008, EllisLab, Inc.
 * @license		http://codeigniter.com/user_guide/license.html
 * @link		http://codeigniter.com
 * @since		Version 1.0
 * @filesource
 */

// ------------------------------------------------------------------------

/**
 * Auth Class
 *
 *
 *
 * @package		CodeIgniter
 * @subpackage	Libraries
 * @category	Login
 * @author		Djalma Araújo de Andrade
 * @link		http://web.djalmaaraujo.com.br/projects/codeigniter/lib/auth.txt
 */
class auth
{
    private $ci;
    private $user_login;

    function __construct()
    {
        $this->ci = &get_instance();
    }

    function check_logged($return = '', $controller = 'login')
    {

        $this->user_login = $this->ci->session->userdata('user_logged');

        if ($this->user_login['logged'] == 1) {
            return true;
        } else {
            if ((!empty($return)) && ($return == true)) {
                return false;
            } else {
                redirect('/' . $controller . '/', 'refresh');
            }
        }
    } //End logged

	function authInfo()
    {
        $this->user_login = $this->ci->session->userdata('user_logged');

        if ($this->user_login['logged'] == true) {
            return $this->user_login;
        } else {
            return false;
        }
    }
}

Bom, é isso, se você quiser aliar esta biblioteca com suas aplicações, ficarei feliz, mas o importante é estar passando o conhecimento de criar novas funcionalidades no codeigniter.

Por hoje é só.
That’s all Folks.

Djalma Araújo


2 Respostas para “Codeigniter – Série de tutoriais – Biblioteca AUTH”


  1. 1 sergio de andrade
    2, Setembro, 2009 às 1:15 pm

    Djalma, acompanho as discussões na lista CI, parabéns pelos tutoriais.

    abs

  2. 2, Setembro, 2009 às 1:22 pm

    Obrigado pelo comentário e pela leitura amigo.


Deixe uma resposta




Twitter

Assinem meu feed

Assine também via e-mail

del.icio.us

My Flickr

Espaço relax

Coisas.

stuart little.

More Photos

Navegue