Problemas con clase Auth

edited febrero 2010 in Principiantes
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&oacute;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

  • debes incluirla como modulo, en el archivo boot.ini
    &#91;modules&#93;
    extensions = kumbia&#46;logger, kumbia&#46;auth
    
  • edited 7:07
    tengo el mismo problema y lo echo igual y agrege el modulo
  • edited 7:07
    Probaron como es que esta encriptando los datos ? Por lo que vi en la BD guardan hasta 25 caracteres, cuando para validar encriptan el dato password y lo van a buscar a la BD este campo seguramente tenga mas de 25 caracteres entonces capaz que falla por eso.
    Hay alguna manera de obtener la query que arma Active Record ?
  • edited 7:07
    Ingresar los datos encriptados en la BD se lleva aproximadamente 40 caracteres, además el error es porque no han incluido la libreria Auth en el archivo boot.ini
  • edited 7:07
    Tengo el mismo problema, lo agregué al boot.ini

    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
  • Les recomiendo utilizar el beta1 de KumbiaPHP se han corregido muchos bugs...
Sign In or Register to comment.