El verdadero rico no es el que tiene mucho dinero sino el que tiene tiempo para estar con la gente que quiere y hacer lo que le gusta.

Componente de autenticación - Módulo de usuarios

Componente de autenticación en CakePHP – Módulo de usuarios

Publicado el 15 Abril, 2015 por | Categoría:

La autenticación de usuarios es una parte común pero muy importante dentro de una aplicación web, para ello CakePHP nos proporciona el componente AuthComponent para realizar este tipo de tareas, este componente de autenticación nos provee formas flexibles de identificación y comprobación de los usuarios que acceden a nuestra aplicación.

Continuando con el curso de CakePHP vamos a trabajar en un nuevo apartado referente a la autenticación de usuarios dentro de nuestra aplicación del restaurante, para ello inicialmente tenemos que crear un módulo que nos permita gestionar nuestros usuarios. Vamos a trabajar este módulo desde cero para que así vayas conociendo paso a paso el trabajo de la identificación de los usuarios con CakePHP.

Vamos a trabajar con la clase BlowfishPasswordHasher que nos facilita el framework para encriptar las contraseñas de cada uno de los usuarios dentro de nuestra aplicación y para ello vamos a desarrollar la función beforeSave desde nuestro modelo el cual nos permite realizar distintas operaciones previa ejecución del controlador. Finalmente vamos a trabajar dentro de nuestro controlador AppController y explicar paso a paso la configuración del componente de autenticación.

Sin más te dejo con el video 21 donde te hablo de todo lo mencionado anteriormente y otras características más puestas a la práctica:

Ahora dime tú, qué te pareció el desarrollo de nuestro módulo de usuarios y la configuración del componente de autenticación? esta es la primera de dos partes donde desarrollaremos este módulo así es que te sugiero no te pierdas la próxima publicación en el blog donde te hablaré sobre la autorización de usuarios 8-) , por otro lado me gustaría mucho que me dejes todas tus impresiones en la sección de comentarios acá abajo.

Para finalizar lo único que te pido por favor es que compartas tanto este artículo como el video para que así mi trabajo llegue a muchas personas y puedan ser beneficiadas del mismo. Comparto el repositorio oficial en GitHub de todo lo avanzado en el video  para que tu mismo puedas probarlo, espero te sea muy útil 8-)

Sigue todas las lecciones del curso AQUÍ.

Saludos!!!

firma emm

 


Repositorio oficial

Por favor comparte esta lección:

¿Te gustó el artículo? ¡Suscríbete ahora mismo!

Recibe mis últimos artículos, recursos, tutoriales y mucho más.

,

Comentarios

  • pablo

    Genial el curso, no sabes lo q me.ayudo y aprendí

    Y ahora cual será el próximo curso???

    • Edson Mollericona Marín

      Hola Pablo, por el momento terminar el de CakePHP 8-) Saludos y nuevamente gracias por seguir mi trabajo

  • Robi

    Edson, gracias por excelente curso… Estamos a la espera del manejo de roles. Saludos

    • Edson Mollericona Marín

      Hola Robi, mañana ya publico la segunda parte sobre autorización de usuarios, desde luego se trabaja con los roles que tu mencionas. Saludos y gracias a ti por comentar y seguir mi trabajo 8-)

  • Paola

    exelentes los videos del curso, pero podrias subir un video en el que muestre como hacer reportes

    • Edson Mollericona Marín

      Hola Paola, estoy considerando hacer un tutotial en el Blog sobre el tema que mencionas ya que otros también lo sugirieron, pronto estaré publicando novedades. Saludos!!!

    • Paola

      Bueno, estaré esperando novedades. Tengo una duda con la integración de bootstrap la aplicación se vuelve responsive, pero cuando agrego lo que es la parte de los usuarios ya esta tiene su propia plantilla y menú este menú se pone encima del menú que contiene todas la información de los cocineros, meseros, etc. Cuando muevo la pantalla del navegador y lo reduzco de tamaño solo sale el menú de las opciones y desaparece el menú que contiene el formulario para ingresar usuario y contraseña. Por que sale eso?.

      • Edson Mollericona Marín

        Hola Paola, no te tendría que permitirte siguiera reducir el tamaño, revisa si tienes correctamente definido el viewport en tu layout. Saludos!

  • Gracias por seguir compartiendo tus magníficos vídeos y por seguir siendo un referente en cuanto al aprendizaje de CakePhp en español. Aunque ya hace tiempo desarrollé un manejo de usuarios, siempre es bueno cotejar con lo que hace alguien con más experiencia que uno, para aprender cosas nuevas.
    Un saludo desde México.
    PD: También ya estoy revisando tus nuevas publicaciones sobre CakePhp 3, seguramente serán muy útiles.

    • Edson Mollericona Marín

      Hola Ricardo, me alegra que el contenido que estoy compartiendo te sea útil, agradecido yo también ya que con comentarios así uno siente que esta haciendo un buen trabajo. Saludos!!!

  • Ricardo Perez

    Excelente video. Me sirvió muchísimo. Te agradezco por compartirlo con nosotros.

    Quisiera preguntarte donde puedo acceder a la plantilla de la acción “login” que mostraste en el minuto 41:30 del video.

    Muchas gracias nuevamente.
    Saludos.

  • Gabriel

    Hola Edson, estoy siguiendo todos tus videos y fueron de mucha utilidad . Pero esta vez no puedo hacer que funcione la autenticar los usuarios. una vez que cargo el usuario en la vista “login” la misma no hace un redirect a la vista de users ->index . Me fije y en el appcontroller esta bien definido tal como lo muestras en el vídeo.

    la url me queda asi (imagen)

    http://localhost:8080/cakephp/?_method=POST&data%5BUsers%5D%5Busername%5D=gmorali&data%5BUsers%5D%5Bpassword%5D=ceicom2006#

    y no me va al menu ..

    Desde ya muchas gracias !! por todas tus clases !!

    • Edson

      Hola Gabriel, revisaste el código del repositorio que comparto? y cual es la versión de CakePHP con la que estás trabajando?. Saludos.

      • Gabriel

        Hola Edson , ya encontre el error que tenia viendo tu repositorio. El mismo estaba en la vista.

        MUCHAS GRACIAS COMO SIEMPRE

        • Edson

          Que bueno que lo hayas solucionado Gabriel. Saludos!!!

  • Saul

    Buenas tardes Ing. Edson de antemano muchas gracias por comparter sus conocimientos, todos los vídeos y la forma de explicar en cada uno de ellos. Soy nuevo en el uso de esta herramientas y gracias a este curso he decidido cambiar mi paradigma de programar. Tuve algunos inconvenientes en algunas partes del curso y decidí descargar el código (para comparar con el mio) desde el repositorio, descargue el cakephp 2.5.4 (¿Que usa en su curso?) y al colocarlo en la carpeta raiz del xampp (htdocs) me genera diferentes errores, revisando en app/Config no aparece el archivo de configuracion de la base de datos. Lo que no se es si esta se encuentra en otra parte de la aplicacion, y en uno de sus post de el curso usted comparte también la base de datos que igual no se en que parte del archivo se encuentra. Disculpe las molestias y muchas gracias por esfuerzo y trabajo.

    • Edson

      Hola Saul, primeramente agradecido por tu comentario y me agrada que el curso te sea útil, respecto a tus dudas: puedes utilizar un archivo de configuración de un proyecto en limpio de CakePHP y lo configuras de acuerda a la conexión a tu base de datos, sobre la base de datos lo desarrollamos paso a paso a lo largo del curso por eso no lo vi oportuno subirlo. Saludos!!!

  • Saul

    Buen día Ing. Edson gracias por su pronta respuesta.

  • Angela Patricia Mayor Ortiz

    Quisiera saber si algun problema que la tabla para la autenticacion no se llame ‘Users’ sino ‘Entidades’ u otro nombre. Que cambios habria que hacer para que acepte la nueva tabla?

  • Angela Patricia Mayor Ortiz

    En el cakephp 2.7.7 como encabezado se muestra la sentencia SQL respectiva. Como quitar este encabezado?

    • Edson

      Nunca me ha sucedido Angela, quizá es algo que te esta informando el cual lo tengas que arreglar. Saludos.

  • Edson

    Si, si no encriptas la contraseña al crear el usuario pero para nada recomendado. Saludos.

  • Angela Patricia Mayor Ortiz

    Edson, me podrias hacer un favor: Como hace para que ‘View’ muestre la contraseña sin encriptación (algo asi como ‘BeforeView’)?

    • Edson

      Hola Angela, hasta donde yo se no se tiene esa opción, es más, sería algo inseguro por parte de la aplicación, si deseas recuperar un campo diferente considera tener una columna dentro de tu bd para ello. Saludos!

      • Angela Patricia Mayor Ortiz

        Tienes razon tocara tener otra columna porque a veces los usuarios se le olvidan las contraseñas y el administrador necesita enviarlas por correo…

        • Edson

          Para el caso que mencionas te lo desaconsejo totalmente porque: Primero ni el administrador ni la aplicación como tal puede saber las contraseñas de los usuarios, es por ello que en el curso lo encriptamos antes de guardarlo y segundo que si alguno de los usuarios quiere recuperar su contraseña lo mas aconsejable es que lo restaure por otra. Saludos, toma en cuenta lo que te dije por favor y no trates de aplicar como tu lo mencionas.

  • Edson

    Hola Angela, es lo mismo que hicimos con los platillos y meseros, implementa la relación con noticias y si en index() de users estás recuperando los datos tanto de usuarios como de noticias suficiente con que le des autorizacion a la acción index(), Saludos

  • Ariel Ale

    Edson, buenas!! Esto funciona igual para CakePHP3? Lo has probado?
    Estoy justo trabado con ese tema en dicha versión, y no puedo avanzar. Slds!

    • Edson

      Hola Ariel, hay algunas variaciones pero ayudándote con la documentación y basándote en esta lección puedes lograrlo, de todas formas tengo contemplado implementarlo en el nuevo curso de CakePHP 3

      • Ariel Ale

        Genial, avanzaré con eso entonces :) Gracias!

  • rebeca

    Buenos dias inge, me gusta mucho el curso pero tengo una pregunta, como hago para que, en el caso de que ingrese un usuario tipo (user) me redirija a su vista del usuario, y no asi a la lista de platillos. es decir que un mesero tenga su cuenta tipo user y me redirija a la vista de dicho mesero. desde ya muchas gracias por su respuesta.

    • Edson

      Hola Rebeca, puedes validar eso en la acción login, si viste la parte de autorización de usuarios puedes recuperar los datos del usuario autenticado dentro del controlador, entonces a partir de eso puedes recuperar el rol y crear una redirección. Saludos!

  • rebeca

    necesito ayuda para redirigir a un empleado autenticado como user a su vista view del empleado

    • Edson

      Ya te respondí en el anterior comentario 8-)

  • rebeca

    si.. es que no lo lei muchas gracias…

  • Rafael David

    Saludos Edson quisiera saber como crear un modulo para recuperar o actualizar contraseñas, De ante mano mugas gracias y espero tu rspuesta