Saltar a contenido

Usuarios y permisos

Los usuarios del panel pertenecen a un tenant y se autentican en /panel/login/. El acceso a módulos se controla con grupos y permisos nativos de Django.

Modelo de acceso

flowchart LR
    A[Usuario autenticado] --> B[Tenant activo]
    A --> C[Grupos Django]
    C --> D[Permisos view/add/change/delete]
    B --> E[Datos filtrados por tenant]

El backend de autenticación impide acceso si el tenant del usuario está inactivo. TenantMiddleware inyecta el tenant en la petición y en el contexto de hilo.

Gestión desde panel

Ruta Uso
/panel/usuarios/ Lista usuarios del tenant actual.
/panel/usuarios/crear/ Crea usuario con tenant del administrador.
/panel/usuarios/<id>/editar/ Edita datos y permisos.

Al crear o editar usuarios, la aplicación registra auditoría. No hay evidencia en el código de un correo automático de invitación, por lo que esa promesa no se documenta.

Buenas prácticas

  • Crear usuarios solo dentro del tenant correspondiente.
  • Usar grupos antes que permisos sueltos.
  • Desactivar usuarios que ya no participen para preservar trazabilidad.
  • Reservar superusuarios para operación técnica, porque pueden saltar límites de tenant.

Permisos por módulo

Los permisos siguen el patrón de Django por modelo: view, add, change y delete. Las vistas del panel usan PermisoRequeridoMixin para verificar el permiso antes de ejecutar la acción.