23 💾 Backend Guardado de Usuarios: Validación Masiva, Upload de Fotos y Roles Spatie | Laravel 12 🛠️
Duración: 17 minDescripción
💾 Lección 23: Backend y Guardado de Usuarios: Validación, Fotos y Roles Spatie
En esta sesión de Benji V2, aprenderás a construir el motor de registro de usuarios, implementando validaciones masivas, gestión de archivos (fotografía de perfil) y la asignación dinámica de roles mediante la librería Spatie.
🛡️ Validación Robusta de Datos
Implementamos reglas estrictas para garantizar que la información que llega a la base de datos sea íntegra y segura:
- 📧 Correo y Documento Únicos: Configuramos el sistema para que rechace correos o números de documento que ya existan en el sistema, evitando duplicados [04:10].
- 🔑 Seguridad de Contraseñas: Validamos que la contraseña tenga un mínimo de 8 caracteres y que coincida exactamente con el campo de confirmación (confirmed) [04:37].
- 📋 Validación de Listas (Enums): Aseguramos que los campos como "Género" o "Tipo de Documento" solo acepten los valores predefinidos en nuestro formulario [05:33].
🖼️ Gestión de Archivos y Fotografía
Aprendemos a manejar la subida de imágenes de perfil de manera profesional:
- 📁 Almacenamiento Local: Configuramos el guardado de fotos dentro de la carpeta storage/app/public/fotos_perfil, permitiendo que el servidor gestione los archivos de forma eficiente [08:44].
- ⚡ Persistencia del Path: Almacenamos únicamente la ruta de la imagen en la base de datos para optimizar el rendimiento de las consultas [11:30].
🔑 Lógica de Roles y Seguridad de Auditoría
Configuramos la jerarquía de acceso del sistema:
- 🎭 Asignación con Spatie: Utilizamos el método $user->assignRole() para vincular instantáneamente al nuevo usuario con el rol seleccionado en el formulario [09:18].
- 🛡️ Protección del Super Admin: Implementamos una restricción en la vista de creación para que el rol de "Super Administrador" no sea visible ni asignable por otros usuarios, garantizando que solo exista una cuenta con máximo control para auditoría y soporte [15:23].
✅ Resultado de la Lección
Al finalizar, habrás desarrollado un flujo de registro completo y profesional. El sistema ahora valida errores en tiempo real, guarda perfiles detallados con fotografía, encripta contraseñas automáticamente y organiza la seguridad mediante roles, todo bajo una arquitectura escalable en Laravel 12.
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️