Descripción
Desarrollar un sistema de autenticación en Python que gestione usuarios, contraseñas y diferentes niveles de acceso.
-
Configura la estructura del proyecto: Crea un archivo principal
main.py
y un directoriodata
para almacenar los archivos JSON y logs. Crea un archivousers.json
vacío con una estructura inicial{"users": []}
y un archivoaccess_log.txt
vacío. -
Implementa las funciones de gestión de usuarios: Crea un módulo
user_manager.py
con funciones para registrar usuarios, validar contraseñas y guardar/cargar información del archivo JSON. La validación de contraseñas debe exigir al menos 8 caracteres, una mayúscula, un número y un carácter especial. -
Desarrolla el sistema de autenticación: Crea un módulo
auth.py
que contenga funciones para verificar credenciales, gestionar intentos fallidos y asignar niveles de acceso. Implementa la encriptación de contraseñas utilizando la bibliotecahashlib
con salting. -
Implementa el sistema de logging: Crea un módulo
logger.py
que registre cada intento de acceso al sistema con fecha, hora, nombre de usuario y resultado (éxito/fracaso). Asegúrate de que cada entrada tenga un formato consistente. -
Crea el menú principal: En
main.py
, implementa un menú interactivo por consola que ofrezca opciones de registro, inicio de sesión y salida. El menú debe ser claro y guiar al usuario a través del proceso. -
Desarrolla menús específicos por rol: Implementa diferentes menús según el nivel de acceso del usuario (administrador, estándar, invitado). Los administradores deben poder ver y modificar usuarios, los usuarios estándar cambiar su contraseña, y los invitados solo consultar información básica.
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
-
Implementa la gestión de administradores: Crea funciones que permitan a los administradores listar usuarios, cambiar roles y desbloquear cuentas bloqueadas por intentos fallidos.
-
Añade la funcionalidad de bloqueo de cuentas: Implementa un mecanismo que bloquee una cuenta después de tres intentos fallidos consecutivos de inicio de sesión y registre este evento en el log.
-
Prueba exhaustivamente el sistema: Verifica que todas las funcionalidades trabajen correctamente: registro, login, bloqueo de cuentas, gestión de administradores y logging de eventos.
Solución al ejercicio de programación en Python
¡Desbloquea la solución completa!
Completa el ejercicio de programación en Python para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con ejercicios de programación en Python
Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Asistente de IA
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Únete a miles de desarrolladores mejorando sus habilidades en Python