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-.
Archivado bajo: Curiosea en el diario de jordicakephp
Hola visitante.
Ha pasado un tiempo desde que escribi este post. Hay otro actualizado en http://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!