EMPORIO

Autenticación y Control de Acceso

Gestión de identidad con Better Auth y sistema de roles dinámicos por organización.

Seguridad y Acceso

El sistema utiliza Better Auth para gestionar la identidad de los usuarios y las sesiones seguras. La arquitectura es Multi-tenant, lo que significa que un mismo usuario puede pertenecer a múltiples organizaciones, pero los permisos son aislados y específicos para cada una.

Autenticación (Login)

El proceso de inicio de sesión sigue los estándares modernos de seguridad web.

  • Proveedor: Correo electrónico y contraseña.
  • Sesión: Manejo seguro de tokens y cookies via Better Auth.

Recuperación de Cuenta

Actualmente, no existe un flujo automatizado de recuperación de contraseña (Forgot Password).

Si un usuario pierde su acceso, debe contactar a un Administrador de la Organización o al soporte técnico para realizar un restablecimiento manual de credenciales.


Control de Acceso Dinámico (RBAC)

A diferencia de sistemas tradicionales con roles fijos (ej. Admin y Usuario), Emporio implementa un Control de Acceso Dinámico.

Esto permite que los Dueños de la Organización diseñen su propia estructura de seguridad definiendo qué puede ver y hacer cada empleado.

¿Cómo funciona?

El sistema se basa en la intersección de tres conceptos:

  1. Recurso: La pantalla o acción a proteger (ej. Ver Inventario, Crear Factura, Eliminar Usuario).
  2. Rol: Una etiqueta personalizada creada por la organización (ej. "Vendedor Senior", "Contable Externo").
  3. Permiso: La asignación de acceso de un Rol a un Recurso.

Flujo de Configuración

Para configurar la seguridad de una organización, el dueño debe seguir estos pasos en el módulo de Equipo:

Crear el Rol

Navegar a Equipo > Roles. Aquí se define el nombre del rol funcional (ej. "Almacenista").

Asignar Permisos

Al crear o editar el rol, se presentará una lista de "toggles" o interruptores. Cada uno representa una acción en el software.

Ejemplo: Activar "Ver Productos" pero desactivar "Ver Costos de Productos".

Asignar Rol al Miembro

Navegar a Equipo > Miembros. Al invitar o editar un usuario, se le asigna uno de los roles creados previamente.

Arquitectura de Permisos

El control de acceso se verifica en dos niveles:

  1. A nivel de UI (Frontend): Los componentes de la interfaz se ocultan o deshabilitan si el rol del usuario actual no tiene el permiso necesario.

    Ejemplo: El botón "Crear Nuevo Proyecto" no aparecerá para un usuario con rol "Observador".

  2. A nivel de Servidor (Backend): Las Server Actions y rutas de API verifican la sesión y los permisos del rol antes de ejecutar cualquier transacción de base de datos, garantizando que nadie pueda bypassear la seguridad mediante llamadas directas a la API.

On this page