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.