laravel

Agregar autenticación de usuarios en Laravel – Login y registro

En el post de hoy veremos cómo agregar la autentificación de Laravel a un proyecto existente para, más tarde, poder hacer un login o registro.

Si eres como yo y dejas la autenticación al final, este es tu post, pues te enseñaré a agregar la autenticación de usuarios a Laravel de manera simple y siguiendo siempre los patrones del framework.

No importa si haces esto en un proyecto fresco o avanzado, al final será igual de fácil. También veremos cómo administrar los usuarios.

Por cierto, voy a hacer todos los formularios a mano y no usaré ningún starter kit, pero sí usaré todo lo que Laravel proporciona en cuanto a la autenticación de usuarios.

Migrando tabla de usuarios

Por si no has migrado nada anteriormente, este es buen momento para hacerlo con php artisan migrate.

Si realmente no has migrado nada y vas a hacer modificaciones a la tabla de usuarios, entonces modifica la migración de create_users_table para agregar los campos.

En caso de que ya hayas migrado anteriormente (y por lo tanto ya hayas creado la tabla de users como lo hice yo) y quieras agregar campos, crea una nueva migración.

Por ejemplo, a mí me pidieron rol de usuarios entonces hice una nueva migración:

php artisan make:migration agregar_rol_a_usuarios --table=users

Luego migré con: php artisan migrate

Por cierto, mi migración se ve así:

See the gist on github.

Creando controlador

Lo que sigue ahora es crear un controlador. Esto es porque en ocasiones el cliente (o sea, la persona que te encarga el trabajo, no el cliente como en la arquitectura cliente-servidor) necesita crear, eliminar y administrar usuarios.

Además, podemos usar este mismo controlador para autentificar al usuario y todo lo demás.

Entonces procedemos a crearlo e indicamos que debe usar al modelo ya existente (User) además de que debe ser de tipo resource y tener requests:

php artisan make:controller UserController --model=User --resource --requests

Ese comando creará un controlador llamado UserController con todos los verbos (create, store, index) además de StoreUserRequest y UpdateUserRequest en donde validaremos los formularios y también vamos a autorizar.

Con eso ya podemos administrar todos los usuarios.

Ejemplo: registrar usuario

No te mostraré todo el CRUD porque ese no es el objetivo de este post, pero te enseñaré un ejemplo para que veas lo fácil que es.

Veamos cómo registrar un usuario a través de un formulario. Primero en el create del controlador devolvemos la vista del formulario:

See the gist on github.

La vista se ve así:

See the gist on github.

Luego modificamos los fillables de User y permitimos que los campos se puedan llenar desde el formulario:

See the gist on github.

Ahora modificamos el StoreUserRequest para autorizar la operación y además indicar las reglas:

See the gist on github.

El formulario que diseñamos anteriormente irá a la acción store del controlador de usuarios en caso de cumplir las reglas. Ahí recibimos los datos y almacenamos:

See the gist on github.

Redireccionamos a la página anterior con un mensaje indicando que todo fue ejecutado correctamente, y listo.

Agregar autenticación de usuarios en Laravel

Conclusión

Después de esto ya podemos mostrar los usuarios, editarlos, eliminarlos y también autentificarlos.

Recuerda que puedes crear middlewares por si los usuarios tienen roles y deseas que solo administren ciertas partes del sistema, y también puedes proteger tus rutas para que solo los usuarios autenticados puedan entrar.

Todo esto es gracias al framework Laravel.

Te recomiendo que también le eches un ojo a cómo crear el primer usuario del sistema y a seguir leyendo más sobre Laravel y PHP en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Creo que te falto mencionar el ejemplo de las rutas que tienes que definir en web.php para que pueda funcionar el tutorial, creeria que todos los usuarios que llegan a este post llegan con la misma idea.

    Igualmente te agradezco, ahora necesito saber como funciona lo de los middleware.

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

23 min hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

38 min hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

4 horas hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

8 horas hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

4 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

5 días hace

Esta web usa cookies.