1.5 KiB
1.5 KiB
US-MGN-001-008-002: Field-Level Security (Ocultar Campos Sensibles)
RF Asociado: RF-MGN-001-008 Módulo: MGN-001 - Fundamentos Epic: Seguridad y Control de Acceso Prioridad: P1 (Post-MVP) Story Points: 5 Sprint: Sprint 5 Fecha: 2025-11-24
User Story
Como sistema de seguridad, Quiero ocultar campos sensibles según permisos del usuario, Para proteger información confidencial (salarios, precios de costo, etc.).
Criterios de Aceptación
Escenario 1: Ocultar campos en API response
Cuando usuario sin permiso 'employee.salary.read' consulta empleados, Entonces campo 'salary' NO aparece en response JSON.
Escenario 2: Ocultar campos en Frontend
Cuando frontend renderiza formulario, Entonces campos sin permiso no se muestran (condicional rendering).
Reglas de Negocio
- RN-1: Permisos a nivel de campo: model.field.read, model.field.write
- RN-2: Campos sensibles: salary, cost_price, bank_account, etc.
- RN-3: Serialización automática excluye campos sin permiso
Tareas Técnicas
- Decorador: @SensitiveField('employee.salary.read')
- Serializer automático que filtra campos según permisos
- Frontend: condicional rendering de campos
- Tests