Sariely logotipo Sariely
Usuarios y Roles 3 min de lectura

Roles del sistema: Administrador, Operador y Técnico

Conoce los tres roles disponibles en el software para taller de celulares Sariely y qué permisos tiene cada uno para gestionar reparaciones, inventario y finanzas.

Cómo decide el sistema el rol del usuario

El control de acceso se basa en un guard de rutas llamado roleGuard. Este guard recibe una lista de roles permitidos y compara ese listado con el rol real del usuario que el servicio de autenticación devuelve desde app_metadata.role.

La lógica es directa: si no hay sesión activa, el sistema redirige a /auth/login. Si existe un usuario pero su rol no está dentro de los permitidos, el guard cancela la navegación y envía a /app/reparaciones.

Guards disponibles para las rutas

adminGuard

Permite únicamente al rol admin. Se usa en rutas sensibles como configuración global, usuarios y parámetros del sistema.

managerGuard

Autoriza a admin y manager. Es útil cuando un perfil de supervisión necesita acceso amplio sin llegar a la administración total.

operatorGuard

Permite a admin y operador. Es el guard más flexible para la operación diaria del taller.

roleGuard

Es la función base. Si necesitas una combinación distinta de permisos, puedes reutilizarla con una lista de roles personalizada.

Qué permite cada rol

Administrador

Tiene acceso completo: usuarios, inventario, reparaciones, ventas, gastos, reportes y configuración. Es el único perfil que debería administrar permisos y estructura general del taller.

Operador

Está pensado para la operación diaria. Puede trabajar en reparaciones, inventario, ventas y gastos, pero no administrar usuarios ni cambiar configuraciones críticas.

Técnico

Su acceso se centra en las órdenes asignadas y en la actualización del estado de trabajo. Así se mantiene el foco operativo sin exponer módulos que no necesita.

Flujo de acceso y redirecciones

  • El guard primero verifica si existe un usuario autenticado.
  • Luego obtiene el rol mediante AuthService.userRole().
  • Si el rol coincide con la lista permitida, devuelve true y deja continuar la navegación.
  • Si el rol no coincide, registra una advertencia en consola y redirige a /app/reparaciones.

Este flujo evita que un perfil llegue a pantallas que no debería ver, incluso cuando intenta entrar escribiendo la URL manualmente.

Problemas frecuentes y solución

No entra aunque tiene sesión: revisa que el rol esté guardado en app_metadata.role y no solo en el campo estándar del usuario.

El sistema redirige a reparaciones: ese comportamiento aparece cuando el rol actual no está dentro de los permitidos por la ruta.

El usuario aparece como autenticado pero sin rol: el guard interpreta ese caso como acceso denegado y bloquea la navegación por seguridad.

Beneficios de usar roles bien definidos

  • Reduce errores operativos al limitar funciones sensibles a quien realmente las necesita.
  • Mejora la trazabilidad porque cada usuario trabaja dentro de un alcance claro.
  • Facilita el crecimiento del taller, ya que puedes sumar personas sin perder control administrativo.

¿Listo para organizar el acceso de tu equipo?

Empieza por definir el rol correcto para cada persona y continúa con la guía de permisos y usuarios.