Permisos de los usuarios autorizados
LibreDTE utiliza un sistema de autorización basado en usuarios, roles y permisos. Los permisos no se asignan directamente a los usuarios, sino a grupos (también llamados roles), los cuales a su vez se asignan a los usuarios.
¿Cómo funcionan los permisos?
Un permiso representa el acceso a un recurso. Ese recurso puede ser:
- Una URL específica:
/sistema
solo permite acceder exactamente a esa URL. - Una URL con comodín:
/sistema/*
permite acceso a cualquier URL bajo/sistema/
. - Un recurso genérico:
mirecurso
, que no necesariamente es una URL.
El caso más común es el uso de URL con comodín (/modulo/*
).
Los permisos se asignan a grupos, y luego los grupos se asignan a usuarios:
Este diseño permite granularidad, pero puede ser tedioso de mantener. Por eso, en la versión oficial de LibreDTE se asignan por defecto grupos predefinidos, sin posibilidad de personalización.
dte_plus
Grupo El grupo dte_plus
es el principal en www.libredte.cl y también el recomendado para instalaciones locales.
- Los grupos se asignan al usuario, no a la empresa.
- Por eso, un usuario con permisos los tiene activos en todas las empresas que administra.
- Solo el usuario administrador principal de una empresa recibe estos grupos de forma directa.
Los usuarios autorizados no heredan estos permisos automáticamente.
¿Cómo acceden entonces los usuarios autorizados?
Pedir permisos prestados
Cuando un usuario es autorizado en una empresa, se le asigna un rol, como por ejemplo:
admin
: Acceso total, edición de empresa y usuarios.dte
: Facturación electrónica.lce
: Contabilidad electrónica.rrhh
: Recursos humanos.inventario
: Inventario.crm
: Gestión de clientes.
Cada rol equivale a uno o más grupos, que definen los permisos reales.
Al seleccionar la empresa en el Dashboard, el usuario autorizado toma prestados los permisos del usuario administrador. Esto se realiza en memoria (caché de sesión), no se modifican datos en la base de datos.
Así, el usuario sigue siendo él mismo, pero opera con los permisos prestados del administrador.
¿Y en los servicios web?
Hasta 2020, solo los usuarios con permisos directos podían usar los servicios web. Esto tenía varios problemas:
- Se requería compartir el usuario principal para integraciones.
- No era posible identificar qué usuario había generado un documento.
- No se podía usar un modelo multiusuario en sistemas conectados.
Esta limitación fue superada en marzo de 2020 para permitir el uso multiusuario en la app móvil.
Solución: permisos prestados también en servicios web
Ahora, un usuario autorizado puede consumir los servicios web siempre que incluya el RUT del contribuyente en la URL:
https://libredte.cl/api/dte/documentos/emitir?_contribuyente_rut=76192083
Este parámetro indica que el usuario actuará sobre esa empresa, usando los permisos del administrador principal (siempre que esté autorizado).
Esta funcionalidad es exclusiva de www.libredte.cl. Instancias autoalojadas pueden tener un comportamiento distinto.