Beta2 Sistema de Login

De KumbiaPHP Framework Wiki
Saltar a: navegación, buscar

Vamos a hacer uso de la libreria Auth que sirve justamente para facilitar toda esta tarea de autenticacion de usuarios. Suponiendo que tenemos la siguiente tabla:

Screenshot 003.png





La aplicacion estara compuesta por un controller (principal_controller) con 2 acciones: index y login. Las 2 vistas correspondientes y el modelo correspondiente asociado con la tabla Usuarios.

<?php View::content(); ?>
 
<?php echo Form::open("principal/login"); ?>
<?php echo Form::label("Usuario","login"); ?>
<?php echo Form::text("login"); ?>
<?php echo Form::label("Password","password"); ?>
<?php echo Form::pass("password"); ?>
<?php echo Form::submit("Ingresar"); ?>
<?php echo Form::close(); ?>
  • Accion 'login' en el controller:
public function login(){
        if (Input::hasPost("login","password")){
            $pwd = Input::post("password");
            $usuario=Input::post("login");
 
            $auth = new Auth("model", "class: usuarios", "login: $usuario", "password: $pwd");
            if ($auth->authenticate()) {
                Router::redirect("principal/index");
            } else {
                Flash::error("Falló");
            }
        }
    }

Con el if se revisa que lleguen datos via post. Luego se crea una nueva instacia de la clase Auth pasandole como parametros el modelo “usuarios”, y la variables $pwd y $usuario.

if ($auth->authenticate())

Se usa para saber si la auteticacion fue correcta.

if(Auth::is_valid())

Se usa para saber si hay un usuario logueado.

$this->telefono=Auth::get('telefono');
$this->edad=Auth::get('edad');

Se usa para recuperar datos de la tabla Usuarios del usuario logueado.

Auth::destroy_identity();

Se usa para terminar la sesion actual del usuario logueado.

Enlace al articulo original.