← Lumbre

Desarrollo de Software con IA Proyecto 3 · Sistema con usuarios y permisos reales

Portada de Proyecto 3 · Sistema con usuarios y permisos reales

Proyecto 3 · Sistema con usuarios y permisos reales

✦ El proyecto donde tu app deja de ser juguete: cualquiera puede abrir tu agenda del proyecto 2, y ya no puede serlo —necesita cuenta, sesión y un rol que diga qué puede hacer · Desarrollo de Software con IA · en 9 minutos

Roadwise Consulting

Contenido modificado tras su publicación

Objetivo: Agregar registro, login, roles y matriz de permisos sin abrir puertas traseras.

9 min Desarrollo de Software con IA 15–99 años
Modo PPTX
Más
Proyecto 3 · Sistema con usuarios y permisos reales

Herramientas de la lección

Sorpréndeme

Sobre este contenido

Ir a

Volver a Módulo 22 · Taller de proyectos: construye de verdad Cursos Explorar Mi cuenta Salir del modo estudio

La misión

Convierte tu agenda en un sistema para un pequeño equipo: registro y login con contraseña hasheada, recuperación por correo simulada, y tres roles —propietario, editor, solo lectura— con una matriz de permisos que TÚ defines antes de pedir una línea. Cada contacto pasa a tener dueño y visibilidad por equipo. El objetivo oculto del proyecto: que la auditoría final encuentre cero puertas traseras. Si «funciona» pero cualquiera puede editar al otro, falló.

La ruta, seis tiempos

Ruta del proyecto 3

  1. 1 · Matriz de permisos (M9, 15 min)

    ESPECIFICACION.md abre con la tabla: operación × rol, sin casillas en blanco. El «propietario» puede invitar y eliminar equipo; el «editor» crear y editar del equipo; «solo lectura» ver lo compartido. Toda regla «excepto cuando…» se escribe explícita o se convierte en bug futuro.

Paso 1 de 6

El prompt de autenticación (con los no-negociables)

La línea 6 y la prueba de propiedad cruzada: donde mueren los sistemas a medias

texto
Capa nueva del proyecto 3: autenticacion y roles. Stack del documento maestro.\n\nNo negociables (cada uno es un criterio de aceptacion VERIFICABLE):\n1. contrasenas con hash de libreria estandar (bcrypt/argon segun stack), nunca en claro\n2. la contrasena nunca aparece en logs ni en mensajes de error, ni en la respuesta del API\n3. limite de intentos de login (5 por correo/hora) con espera creciente\n4. sesion con token de duracion limitada; el cliente guarda el token segun la practica\n   correcta del stack y lo manda en cada peticion\n5. recuperacion: token de un solo uso con expiracion corta (simulable por correo local)\n6. TODOS los endpoints protegidos chequean: token valido + rol adecuado + propiedad del\n   recurso. El frontend que oculta botones es UX, no defensa: la barrera vive aca.\n\nMatriz de permisos (definida por mi en ESPECIFICACION.md, pegarla completa aqui):\n[pega tu tabla operacion x rol literal]\n\nPruebas por endpoint: sin token (401), rol equivocado (403), propiedad cruzada\n(el editor del equipo A toca un contacto del equipo B -> 403), token caducado.\n\nImplementa, corre todo, muestra diff y salida. No toques la logica de contactos de\nla capa 2 sin mostrarme el diff de lo que cambia.
La prueba que casi nadie pide y este prompt exige: el endpoint con token VÁLIDO de un usuario equivocado. Un sistema pasa «sin token = 401» fácil; pasar «token válido de otro = 403» es lo que separa autenticación de autorización (M9: que sepas quién eres no dice qué puedes hacer).

Qué entrega este proyecto

Si tu auditoría de las tres puertas encuentra cero errores en el primer intento, sospecha: no es que esté perfecto, es que la prueba fue suave. Los mejores HALLAZGOS.md de este proyecto nacen de la puerta que sí se abrió.
EntregableBarra alta de este proyecto
ESPECIFICACION.mdla matriz operación × rol sin casillas en blanco y el caso del propietario que se va
HALLAZGOS.mdel endpoint que dejaba pasar al usuario equivocado, el login que logueaba la contraseña
PRUEBAS.mdlas tres puertas auditadas + propiedad cruzada por endpoint crítico
App publicadados cuentas reales de prueba editando cada una lo suyo, nada más

Prueba

Tu sistema: el menú muestra el botón «eliminar» solo al propietario, y los demás no lo ven. ¿Es suficiente para cumplir la matriz?

Almacena la contraseña con hash (no en claro) y ya: con eso la autenticación del proyecto está bien protegida.

Empieza por el punto que la IA no puede escribir por ti: la matriz operación × rol completa, en ESPECIFICACION.md. Luego el prompt de capa con los seis no-negociables. Cierra con la auditoría de las tres puertas Y la propiedad cruzada documentadas —si la primera prueba te deja limpio, prueba más sucio.

Un sistema de permisos es una decisión de negocio escrita dos veces: una en la especificación, otra en cada endpoint.

Tu texto se guarda sólo en este dispositivo.

Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
Más sobre esta lección

Comentarios

Inicia sesión para comentar.

Todavía no hay comentarios. Sé la primera persona en opinar.