20 de noviembre de 2008. De CakePHP 1.1 a CakePHP 1.2. El baile de los errores. Parte II

Sigue el baile de los errores, y también los cambios que estoy haciendo para que el programa escrito para CakePHP 1.1 funcione en CakePHP 1.2.

2. Cambios en la autenticación

Esta parte me ha llevado tiempo porque no estoy familiarizado con Auth, el nuevo componente que incorpora CakePHP 1.2 para gestionar la autenticación de los usuarios. En el controlador UsuariosController he hecho lo siguiente:

1. He cargado el controlador.


var $components = array('Auth');

2. He configurado el componente Auth en el método beforeFilter() del controlador.


   function beforeFilter(){

         /* Auth supone que hay un model User; nosotros le decimos que nuestro modelo es Usuario*/

         $this->Auth->userModel = 'Usuario';

         /* Auth supone que hay un modelo User con los campos username y password. La siguiente línea
            especifica qué campos de la tabla usuarios se utilizan como username y password. */

         $this->Auth->fields = array('username' => 'login', 'password' => 'password');

         /* Esta línea define la acción/vista correspondiente al login. Si un usuario no está
            autorizado a ver una página es redireccionado/a a esta acción/vista. */

         $this->Auth->loginAction = array('controller' => 'usuarios', 'action' => 'login');

         /* Por defecto, el componente de autenticación bloquea todas las acciones. La siguiente
            línea le dice al componente Auth qué acciones no necesitan autenticación.
            Sin esta línea, no podríamos ejecutar la acción login ni visualizar,
            por lo tanto, su vista asociada, login.ctp*/

         $this->Auth->allow('login');

         /* Decimos al comonente Auth donde tiene que redireccionar al usuario después de una
            autenticación exitosa.*/

         $this->Auth->loginRedirect = array('controller' => 'usuarios', 'action' => 'index');

         /* Especificamos el mensaje de error que aparece en la pantalla si la autenticación falla. */

         $this->Auth->loginError = 'El nombre de usuario o la contraseña no son correctos. Por favor, inténtalo otra vez.';

      }

Gracias a este enlace entendí para qué sirve cada uno de los atributos de la clase AuthComponent, y cómo se utilizan.

3. He implementado el método login(), dejándolo vacío. Finalmente, se tiene que crear la vista login.ctp -que yo escribí en el baile de los errores Parte I-.

Anuncios

Una respuesta

  1. Hola visitante.

    Ha pasado un tiempo desde que escribi este post. Hay otro actualizado en https://tutorialcakephp.wordpress.com/2009/06/02/ejercicio-8-configura-el-componente-auth-de-cakephp-en-un-plisplas/ que explica un poco mejor el funcionamiento de Auth. ¡Espero que lo encuentres útil!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: