Autenticacion en cakephp 2.3.1

93 views
Skip to first unread message

Henrry Chy

unread,
May 3, 2013, 8:25:36 PM5/3/13
to cakep...@googlegroups.com
Sres. buenas noches, volviendo a este grupo después de mucho tiempo; estoy retomando la programación ya una vez hice un sistema de venta web con cakephp hace unos dos o tres años atrás, ahora con la nueva versión en que está han cambiado varias cosas, en fin; estoy desarrollando un sistema web de gestión administrativo y estoy comenzando por el login que ya esta parcialmente, para que funcione por completo necesito por otro lado el agregar un nuevo usuario para que se loguee justamente, entonces estoy en la función add(), la codificacion que tengo es la siguiente:

En la vista tengo:
<div>
<?php echo $this->form->create('User'); ?> 
        <?php echo $this->form->input('username'); ?><br> 
<?php echo $this->form->input('password'); ?><br> 
<?php echo $this->form->input('password_conf',array('label'=>'Confirmar Password')) ?>
<?php echo $this->form->end('Registro'); ?> 
</div>

y en el controlador es:
function add() { 
if (!empty($this->data)){
if ($this->data['User']['password'] == $this->Auth->password($this->data['User']['password_conf'])){
             $this->User->create();
            $this->User->save($this->data);
        }
}

entonces cuando ejecuto, pues no sucede nada, haciendo un seguimiento no pasa el segundo if y es que no se confirma ese if xq la igualdad no se cumple, haciendo un debug noto que $this->data['User']['password'] no esta hasheado, osea encriptado tal como sí lo está la otra parte $this->Auth->password($this->data['User']['password_conf']).

No se supone que el componente auth automaticamente encripta la data, si es asi xq $this->data['User']['password'] no esta encriptado.

Espero sus respuestas ante este primer problemilla que encuentro, si esta bien mi duda o si estoy andando mal por alguna parte, espero vuestras ayudas.

Agradeciendo de antemano sus apoyo, quedo a la espera de Uds. Buenas noches.

Aland Laines

unread,
May 3, 2013, 10:28:35 PM5/3/13
to cakep...@googlegroups.com
Yo para que me encripte la contraseña uso beforeSave en el modelo usuario de mi aplicacion:

public function beforeSave($options = array()) {
if (isset($this->data[$this->alias]['clave'])) {
$this->data[$this->alias]['clave'] = AuthComponent::password($this->data[$this->alias]['clave']);
}
return true;
}

Saludos,


Aland Laines Calonge
Twitter: @lainessolutions


--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP en Español" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cakephp-esp...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a cakep...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/cakephp-esp?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

yoel duran

unread,
May 3, 2013, 10:29:23 PM5/3/13
to cakep...@googlegroups.com
saludos amigo bueno hace poco tambien me sucedia lo mismo no sabia como encriptar el pass, bueno yo aplico la encriptacion en el modelo y no en el controller como tu piensas creo que deberias pasarte primero por la documentacion y ver lo que han cambiado, y practicar primero con la aplicacion de pejercicio que ponen

Henrry Chy

unread,
May 4, 2013, 6:18:33 PM5/4/13
to cakep...@googlegroups.com
hi yoel, es que justamente me estoy guiando del manual para hacer lo que estoy haciendo, no es porque asi pienso, y en el manual esta asi; en todo caso, seguiré sus consejos y encriptare en el modelo nomas, gracias y ya estare retornando por si no me va bien.... thank!

Henrry Chy

unread,
May 4, 2013, 8:22:04 PM5/4/13
to cakep...@googlegroups.com
Genial, ya lo tengo, gracias Aland, Yoel... ahora si se está encriptando y así se esta almacenando en la BD, thank !!!! y hasta la proxima!!!..

yoel duran

unread,
May 4, 2013, 8:42:12 PM5/4/13
to cakep...@googlegroups.com
ok hermano tranquilo para eso somos para ayudarnos entre todos

Henrry Chy <henso...@gmail.com> escribió:

Reply all
Reply to author
Forward
0 new messages