Reto acceso a sistema

Proyecto de programación
Intermedio
Python
Curso de Python
120 min
200 XP
Actualizado: 06/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Desarrollar un sistema de autenticación en Python que gestione usuarios, contraseñas y diferentes niveles de acceso.

  1. Configura la estructura del proyecto: Crea un archivo principal main.py y un directorio data para almacenar los archivos JSON y logs. Crea un archivo users.json vacío con una estructura inicial {"users": []} y un archivo access_log.txt vacío.

  2. 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.

  3. 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 biblioteca hashlib con salting.

  4. 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.

  5. 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.

  6. 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.

    Progreso guardado
    Asistente IA
    Ejercicios
    Iniciar sesión gratis

    Más de 25.000 desarrolladores ya confían en CertiDevs

  7. Implementa la gestión de administradores: Crea funciones que permitan a los administradores listar usuarios, cambiar roles y desbloquear cuentas bloqueadas por intentos fallidos.

  8. 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.

  9. 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

Contenido bloqueado

¡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.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

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

⭐⭐⭐⭐⭐
4.9/5 valoración