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.
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í:
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.
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:
La vista se ve así:
Luego modificamos los fillables
de User
y permitimos que los campos se puedan llenar desde el formulario:
Ahora modificamos el StoreUserRequest
para autorizar la operación y además indicar las reglas:
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:
Redireccionamos a la página anterior con un mensaje indicando que todo fue ejecutado correctamente, y listo.
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.
En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…
Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…
En un post previo te enseñé a enviar un mensaje en nombre de un Bot…
En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
Esta web usa cookies.
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.