Saltar a contenido

Roles y permisos

SIGCLU usa un sistema de roles para controlar quién puede hacer qué. Esta página resume los roles que existen y qué menús top-level ve cada uno. La matriz completa, operación por operación, está en /doc/matriz-permisos.md del repositorio.

Roles del sistema

Jerarquía principal

guest → user → admin → administrator
guest → entrenador
Rol Descripción
guest Usuario no autenticado (rol base).
user Usuario básico autenticado (hereda de guest).
admin Administración general del club (hereda de user).
administrator Super administrador (hereda de admin).
entrenador Entrenador (hereda de guest).

Roles independientes (sin padre)

Rol Descripción
mora Gestión de mora.
contable Contable.
consulta Solo lectura.
supervisorActividad Supervisor de actividades (hereda de consulta).
configuración Permisos de configuración.
débito Permisos de débito.
consultaCobranzas Solo lectura de cobranzas.
supervisorCobranzas Supervisor de cobranzas (hereda de consultaCobranzas).
turnos Gestión de turnos.

Múltiples roles

Un usuario puede tener varios roles asignados. El acceso final es la suma de los permisos de todos sus roles. Si cualquiera tiene permiso para una operación, el usuario puede hacerla.

Qué menú top-level ve cada rol

La columna (✓) indica permiso heredado del rol padre.

Menú guest user admin administrator entrenador consulta supActiv. consCobr. supCobr. contable config. débito mora turnos
Socios (✓) (✓)
Cobranzas (✓)
Actividades (✓) (✓)
Finanzas (✓)
Tableros (✓) (✓)
Configuración

Cómo asignar un rol

Solo los administradores pueden asignar roles. Desde Configuración → Usuarios → [usuario] → Roles, tildar los que correspondan.

Principio de mínimo privilegio

Asigná solo los roles estrictamente necesarios para cada persona. Es más fácil agregar un permiso después si hace falta que descubrir tarde un permiso de más.

Matriz completa

La matriz operación-por-operación, con todas las acciones de cada módulo, vive en /doc/matriz-permisos.md del repositorio. Esa matriz es la fuente de verdad y se mantiene en el mismo repo que el código.