Encriptación de Contraseñas en Symfony paso a paso
Clase 15 de 22 • Curso Práctico de Symfony
Contenido del curso
Administración
- 3

Configuración y Creación de Entidades en Symfony con Doctrine
07:05 min - 4

Relaciones de Tablas en Symfony: Categorías, Publicaciones y Comentarios
07:51 min - 5

Configuración de Panel Administrativo con Easy Admin en Symfony
13:50 min - 6

Personalización de Vistas Administrativas en Paneles Web
14:40 min - 7

Traducción y Personalización de Vistas en Español para Administradores
06:12 min - 8

Creación y Configuración de Datos Falsos con Factory en PHP
07:32 min - 9

Automatización de Slugs en Categorías y Publicaciones
06:28 min - 10

Validación de Slugs Únicos en Symfony
08:45 min - 11

Configuración de Usuarios para Seguridad en Panel Administrativo
05:26 min - 12

Registro e Inicio de Sesión Seguro en PHP
08:25 min - 13

Gestión de Usuarios con CRUD en Panel Administrativo
09:06 min - 14

Configuración de Relaciones en Base de Datos con Doctrine y Symfony
11:29 min - 15

Encriptación de Contraseñas en Symfony paso a paso
Viendo ahora - 16

Actualización y Configuración del Panel Administrativo en Symfony
09:37 min
Área de acceso público
- 17

Configuración de Rutas y Controladores en Symfony
12:19 min - 18

Formulario de Comentarios con Autenticación de Usuario
06:18 min - 19

Configuración de Formularios y Validaciones en Symfony
12:32 min - 20

Instalación y Configuración de Bootstrap con Symfony y Webpack
09:19 min - 21

Mejoras Visuales en Sistemas de Diseño y Administración de Bases de Datos
08:04 min
Conclusión
¿Cómo podemos encriptar las contraseñas en nuestra aplicación?
Es esencial garantizar la seguridad de los usuarios en cualquier aplicación. Un paso crucial para lograrlo es encriptar las contraseñas. En este artículo, profundizaremos en cómo se puede lograr esto de manera efectiva utilizando el Factory en Symfony. El objetivo de este enfoque es asegurar que los datos ficticios generados para pruebas sean lo más realistas posible, replicando los escenarios del mundo laboral.
¿Cómo configuramos el hasher de contraseñas?
Para comenzar con la configuración, se recomienda seguir estos pasos detallados para integrar el hasher de contraseñas:
-
Importación de la clase necesaria: Dirígete al archivo UserFactory en tu proyecto y comienza importando las clases adecuadas. En nuestro caso, trabajaremos con Symfony y las siguientes importaciones:
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; -
Creación de una propiedad para el hasher: Declara una propiedad privada llamada
hasherpara darle un sentido más claro al código y para trabajar con la clase importada.private UserPasswordHasherInterface $hasher; -
Asignación de la propiedad: Asegúrate de que esta propiedad se asigne adecuadamente, lo que se logra a través de inyección de dependencias.
$this->hasher = $hasher;
¿Cómo utilizamos el método de inicialización para la encriptación?
El método de inicialización permite agregar lógica adicional a la configuración básica. Sigamos este procedimiento para encriptar las contraseñas antes de crear usuarios falsos:
- Uso del método de inicialización: Dentro del método, utiliza el método
setPasswordpara asegurar que las contraseñas se encripten correctamente:$user->setPassword( $this->hasher->hashPassword( $user, '123456789' // Esto se sustituirá por la contraseña original ) );
¿Cómo creamos usuarios con roles específicos?
Añadir roles a los usuarios durante la fase de seeding (inicialización de datos) es crucial para pruebas exhaustivas:
- Configuración de datos semillas: Modifica el archivo de configuración de datos semillas para incluir un usuario administrador y otro usuario estándar, ambos con contraseñas encriptadas.
// Crear usuario administrador $userAdmin = [ 'name' => 'admin', 'email' => 'admin@app.com', 'roles' => ['ROLE_ADMIN'], ]; // Crear usuario estándar $userStandard = [ 'name' => 'user', 'email' => 'user@app.com', 'roles' => ['ROLE_USER'], ];
¿Cómo verificamos la correcta ejecución de las configuraciones?
Una vez realizadas las configuraciones, es momento de ejecutar la creación de datos falsos y revisar su correcto funcionamiento:
-
Ejecución del comando de creación de datos:
php bin/console doctrine:fixtures:load -
Verificación en la base de datos: Asegúrate de que las contraseñas estén encriptadas y que los usuarios con roles específicos han sido añadidos correctamente.
Integrar estos pasos en tu proyecto no solo aumenta la seguridad de los usuarios simulados, sino que también te prepara para un entorno de producción realista. Recuerda siempre seguir aprendiendo, practicando y aplicando nuevas técnicas en tus proyectos. ¡El éxito en cada línea de código es tuyo!