Diferencia entre revisiones de «Beta2 Sistema de Login»

De KumbiaPHP Framework Wiki
(Sistema de Login con KumbiaPHP Beta2)
 
Línea 3: Línea 3:
  
 
[[Archivo:Screenshot_003.png|left]]
 
[[Archivo:Screenshot_003.png|left]]
 +
 +
 +
 +
 +
 +
 +
  
 
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.
 
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.
  
Vista login.phtml. Es solo un formulario que utiliza los [http://wiki.kumbiaphp.com/KumbiaPHP_Framework_Versi%C3%B3n_1.0_Beta2 helpers de KumbiaPHP Beta2]
+
*Vista login.phtml. Es solo un formulario que utiliza los [http://wiki.kumbiaphp.com/KumbiaPHP_Framework_Versi%C3%B3n_1.0_Beta2 helpers de KumbiaPHP Beta2]
  
 
<source lang="php">
 
<source lang="php">
Línea 20: Línea 27:
 
</source>
 
</source>
  
Accion 'login' en el controller:
+
*Accion 'login' en el controller:
 
<source lang="php">
 
<source lang="php">
 
public function login(){
 
public function login(){

Revisión del 05:09 14 jun 2010

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 echo 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.