Buenos dias a todos!
Estoy haciendo un formulario de login, y me da un error cuando hago uso de la clase Auth.
Tengo una tabla de usuarios en la bd MySQL:
CREATE TABLE `usuarios` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(30) collate latin1_general_ci NOT NULL,
`login` varchar(25) collate latin1_general_ci NOT NULL,
`password` varchar(25) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;
Cree un controlador con un StandarForm y un modelo de dicha tabla.
Aqui esta el controlador de usuarios:
class UsuariosController extends StandardForm
{
public $scaffold = true;
public static $force = false;
public function before_insert ()
{
$this->Usuarios->password = sha1 ($this->request
("fl_password"));
}
public function __construct()
{
$this->set_type_password("password");
}
}
}
y el modelo:
class Usuarios extends ActiveRecord {
}
Igualmente cree un controlador para el Login.
class LoginController extends ApplicationController
{
public static $force = true;
function index () {
}
function autenticar()
{
$login=$this->request ("login");
$password = sha1 ($this->request("password"));
$auth = new Auth ("model", "class: Usuarios", "nombre: $login",
"password: $password");
if ($auth->authenticate())
Flash::success("Bienvenido $login");
else
Flash::error("Usuario $login no valido");
}
}
el formulario, de la accion index es este:
<h1>Inicio de Sesión </h1>
<?= form_tag("login/autenticar") ?>
<table>
<tr>
<td><strong>Login</strong></td>
<td><?= text_field_tag("login") ?></td>
</tr>
<tr>
<td><strong>Password</strong></td>
<td><?= password_field_tag("password") ?></td>
</tr>
<tr>
<td></td>
<td><?= submit_tag("Iniciar Sesion") ?>
</tr>
</table>
<?= end_form_tag() ?>
Pero cuando se ejecuta el submit de este formulario, me da el siguiente error:
Fatal error: Class 'Auth' not found in C:\xampp\htdocs\kumbia\apps\default\controllers\login_controller.php on line 22
Quisiera saber por que, si esta es una clase valida, e incluso en el manual de kumbia en la pagina 138 aparece un ejemplo similar (por el cual me guie) y me da error.
No se que estoy haciendo mal, si alguien me puede ayudar, se lo agradeceria.
Atentamente: Wladimir Chopite
Comentarios
Hay alguna manera de obtener la query que arma Active Record ?
extensions = kumbia.logger, kumbia.auth
el campo de mi password tien la longitud correcta para una encriptacion md5 (varchar(32)) pero al kere utilizar esta clase no la reconoce, tuve ke incluirla con un require_once pero me gustaría saber porke no funciona llamandolo desde el boot.ini
PD: Tengo la v 0.50