62 Perfil de Usuario en Laravel Edición de Datos Personales y Cambio de Contraseña 👤🔐 Sis Farmacia
Duración: 6 minDescripción
🚀 Lección 62: Perfil de Usuario en Laravel: Edición de Datos Personales y Cambio de Contraseña
En este capítulo entramos en la fase final de pulido y utilitarios globales del Sistema para Farmacia. Desarrollamos el submódulo de Mi Perfil, una herramienta transversal que permite a cualquier usuario autenticado —independientemente de su rol— gestionar de forma autónoma su información de contacto, credenciales de acceso y políticas de seguridad.
🎯 El Objetivo Central
Construir la interfaz y la lógica de actualización en el backend para la entidad User, permitiendo la edición de campos personales y aplicando un flujo seguro de re-encriptación de contraseñas mediante la validación previa de la clave vigente.
👤 Autogestión de Datos Personales
Diseñamos un formulario que hereda los datos de la sesión activa (Auth::user()) para que el empleado mantenga su perfil actualizado sin requerir la intervención del administrador:
- Campos Editables: El usuario puede modificar datos volátiles como su nombre visible (ej. cambiar de Carlos a Aarón) y su número de teléfono celular (ej. actualizar a 202026).
- Persistencia Inmediata: Al presionar "Guardar Cambios", el controlador actualiza la base de datos y refresca el estado en el backend, reflejándose inmediatamente tanto en la sesión del empleado como en el panel de control del administrador global.
🔐 Flujo de Cambio Seguro de Contraseña (Validación de Identidad)
Por defecto, cuando el administrador crea un nuevo empleado en el sistema, le asigna su número de documento de identidad como contraseña provisional. Por motivos de seguridad e higiene informática, implementamos el flujo de renovación de credenciales:
- Verificación Actual: El formulario exige al usuario introducir de forma obligatoria su contraseña vigente. El backend valida este campo contra el hash almacenado utilizando la fachada de Hash de Laravel (Hash::check).
- Re-encriptación (Bcrypt): Si la clave coincide, el sistema toma la nueva contraseña (ej. 12345678), genera un nuevo hash seguro y sobrescribe el registro.
- Prueba de Autenticación: Validamos el flujo abriendo una sesión en modo incógnito. Al intentar ingresar con el carnet de identidad del empleado, el sistema arroja un error predictivo: "Ha fallado en la autenticación". Al colocar la nueva contraseña (12345678), el POS le otorga el acceso correctamente.
🏢 Información de Contexto Laboral
La vista de perfil se complementa mostrando datos informativos del contrato y asignación del empleado, los cuales están bloqueados para edición por seguridad (solo lectura):
- Sucursal Asignada: Muestra la locación exacta donde el empleado ejerce sus funciones (ej. Casa Matriz).
- Rol de Sistema: Despliega el nivel de jerarquía (ej. Rol: Empleado).
Al concluir esta lección, los estudiantes dominarán la gestión de perfiles de usuario, la validación avanzada de credenciales en Laravel y el tratamiento seguro de contraseñas. ¡En el próximo capítulo entraremos a uno de los temas más esperados: el sistema dinámico de Roles y Permisos para restringir el menú del sistema según el cargo del usuario! ¡Nos vemos en el siguiente video!
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! ❤️