Imagen destacada del post -Creando un panel de control desde cero con Laravel V-

Creando un panel de control desde cero con Laravel V


Hola, ¿Qué tal te ha ido? ¡Te doy la bienvenida de vuelta! 🙋‍♂️. En este nuevo post de la serie vamos a proteger nuestras rutas y acciones para que no hagan uso usuarios no autorizados.

Autenticación vs Autorización

¿Qué diferencia hay? 🤷‍♂️

De una manera simple la autenticación es toda la lógica que creamos para decidir si un usuario puede ingresar en nuestro panel de control o no. Y la autorización es la lógica para una vez el usuario haya ingresado decidir en qué rutas puede ingresar o qué acciones puede realizar en nuestro sistema según su rol o privilegios.


Este tutorial es uno de los más importantes si no el que más porque la mayoría de veces nos centramos en cómo se hacen las cosas por ejemplo con Livewire, cosa que por otro lado veo normal, pero nunca nos preguntamos cómo lo hace por detrás para ser tan mágico. En este caso Livewire nos ayuda a no tener que declarar demasiadas rutas, solo las necesarias para nuestras vistas pero esto no significa que nuestras acciones del CRUD como borrar, actualizar o crear no tengan una ruta declarada. Si ejecutamos el comando php artisan route:list podemos comprobar que Livewire para las peticiones post registra una ruta con la dirección /livewire/update que es donde se van ha llevar a cabo todas esas acciones en segundo plano.

Por defecto la manera para proteger nuestras rutas y acciones en Livewire es por medio de middlewares en el caso de rutas y el método $this->authorize() en combinación con Policies y Gates en el cazo de las acciones. En nuestro caso vamos a ayudarnos de nuestra librería de laravel-permission para hacerlo más simple.

Autorización



Aquí te dejo enlaces relevantes para el tutorial:

También te dejo el enlace al repositorio.

¡Un saludo y nos vemos pronto en el próximo post! 🙋‍♂️