Seguridad y permisos
Tryton combina acceso a modelos, campos, botones y reglas de registros. Ocultar un menú no constituye una política de seguridad.
Objetivos de aprendizaje
- Conceda privilegios mediante grupos de responsabilidad. Al terminar, compruebe el resultado con un registro de prueba y documente quién es responsable.
- Aplique reglas globales de compañía a modelos multicompañía. Al terminar, compruebe el resultado con un registro de prueba y documente quién es responsable.
- Proteja botones irreversibles o fiscalmente sensibles. Al terminar, compruebe el resultado con un registro de prueba y documente quién es responsable.
- No use indicadores de contexto enviados por el cliente como autorización. Al terminar, compruebe el resultado con un registro de prueba y documente quién es responsable.
- Registre y revise operaciones excepcionales. Al terminar, compruebe el resultado con un registro de prueba y documente quién es responsable.
Conceptos que debe dominar
- Conceda privilegios mediante grupos de responsabilidad.
- Aplique reglas globales de compañía a modelos multicompañía.
- Proteja botones irreversibles o fiscalmente sensibles.
- No use indicadores de contexto enviados por el cliente como autorización.
- Registre y revise operaciones excepcionales.
Práctica guiada
-
Actividad 1. Conceda privilegios mediante grupos de responsabilidad. Realícela primero en un ambiente de ensayo, registre las precondiciones y compare el resultado esperado con el obtenido.
-
Actividad 2. Aplique reglas globales de compañía a modelos multicompañía. Realícela primero en un ambiente de ensayo, registre las precondiciones y compare el resultado esperado con el obtenido.
-
Actividad 3. Proteja botones irreversibles o fiscalmente sensibles. Realícela primero en un ambiente de ensayo, registre las precondiciones y compare el resultado esperado con el obtenido.
-
Actividad 4. No use indicadores de contexto enviados por el cliente como autorización. Realícela primero en un ambiente de ensayo, registre las precondiciones y compare el resultado esperado con el obtenido.
-
Actividad 5. Registre y revise operaciones excepcionales. Realícela primero en un ambiente de ensayo, registre las precondiciones y compare el resultado esperado con el obtenido.
Cómo verificar el resultado
- La compañía, usuario, idioma, zona horaria y fecha son los esperados.
- Los permisos permiten únicamente las operaciones asignadas a la responsabilidad.
- Los cambios dejan trazabilidad y los documentos relacionados conservan consistencia.
- El procedimiento puede repetirse con el mismo resultado y tiene una forma documentada de corrección.
- Una copia restaurada permite reproducir el proceso sin depender del servidor de producción.
Errores frecuentes
- Confundir guardar con confirmar, contabilizar, pagar o cerrar.
- Probar solamente con el usuario administrador y concluir que los permisos funcionan.
- Cambiar estados o totales directamente con SQL para evitar una validación.
- Actualizar módulos sin inventario, copia restaurable y conciliación posterior.
- Documentar únicamente el camino exitoso y omitir cancelaciones, correcciones y excepciones.
Perspectiva para desarrolladores
Identifique los modelos, campos, botones, dominios y reglas de acceso involucrados. Antes de extender el proceso, localice el módulo que posee la regla, revise sus pruebas y conserve sus invariantes mediante super(). Una personalización correcta debe funcionar con diferentes compañías, idiomas, permisos y estados.
Lista de control para producción
- La compañía, usuario, idioma, zona horaria y fecha son los esperados.
- Los permisos permiten únicamente las operaciones asignadas a la responsabilidad.
- Los cambios dejan trazabilidad y los documentos relacionados conservan consistencia.
- El procedimiento puede repetirse con el mismo resultado y tiene una forma documentada de corrección.
- Una copia restaurada permite reproducir el proceso sin depender del servidor de producción.