Saltar al contenido principal
Versión: Tryton 7.0 (LTS)

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

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

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

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

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

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