From 2d1c2b1df3ee7e11111c5115326e808e709b3914 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Tue, 25 Nov 2025 01:09:30 -0600 Subject: [PATCH] =?UTF-8?q?Feature:=20Agregar=20modal=20de=20informaci?= =?UTF-8?q?=C3=B3n=20del=20sistema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Botón de info (ℹ) en la barra superior - Documentación completa sobre: - Sesiones (estados, ciclo de vida, limitaciones) - Eventos FreeRADIUS (authorize, post-auth, accounting) - Usuarios normales y sus características - Invitados (temporales, auto-deshabilitación) - Dispositivos (MAC, relación con usuarios) - Flujo completo de conexión WiFi --- frontend/src/App.vue | 150 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 2a1a3a5..e0f7658 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -46,6 +46,7 @@ const layoutMode = ref('user'); const theme = ref(localStorage.getItem('theme') || 'dark'); const statusText = ref('OK'); const showSettingsMenu = ref(false); +const showInfoModal = ref(false); async function fetchUsers() { loading.users = true; @@ -407,6 +408,13 @@ async function handleUserFormSubmit(data) { + @@ -665,6 +673,148 @@ async function handleUserFormSubmit(data) { + + +
+ +
+

+ + + + + Sesiones +

+
+

Una sesión representa el período de tiempo durante el cual un dispositivo está conectado a la red WiFi.

+

Estados de sesión:

+
    +
  • active — Dispositivo actualmente conectado y enviando datos
  • +
  • stale — Sin actividad por más de 10 minutos (posible desconexión sin notificar)
  • +
  • stopped — Sesión finalizada correctamente
  • +
+

Información disponible: Usuario, dispositivo (MAC), hora de inicio/fin, duración, datos transferidos (bytes enviados/recibidos).

+

Limitación: Si un dispositivo se desconecta abruptamente (batería, pérdida de señal), puede quedar como "stale" hasta que el sistema lo detecte.

+
+
+ + +
+

+ + + + + Eventos FreeRADIUS +

+
+

El servidor RADIUS recibe eventos del Access Point (NAS) en tiempo real:

+
    +
  • authorize — Cuando un dispositivo intenta conectarse. Se verifica usuario/contraseña y se decide si permitir acceso.
  • +
  • post-auth — Después de autenticación exitosa. Se asigna VLAN y se registra el dispositivo.
  • +
  • accounting — Durante la sesión: +
      +
    • Start — Inicio de sesión
    • +
    • Interim-Update — Actualización periódica con estadísticas
    • +
    • Stop — Fin de sesión (desconexión)
    • +
    +
  • +
  • coa-disconnect — Desconexión forzada desde la interfaz (Change of Authorization).
  • +
+
+
+ + +
+

+ + + + + Usuarios +

+
+

Los usuarios normales son cuentas permanentes para acceso a la red:

+
    +
  • Tienen usuario y contraseña únicos
  • +
  • Se les asigna una VLAN específica
  • +
  • Pueden conectar múltiples dispositivos
  • +
  • Pueden ser deshabilitados temporalmente sin eliminar la cuenta
  • +
+
+
+ + +
+

+ + + + + + + Invitados +

+
+

Los invitados son usuarios temporales para visitantes:

+
    +
  • Creados con un solo clic mediante el botón "Invitado"
  • +
  • Se asignan automáticamente a la VLAN de invitados (VLAN 5)
  • +
  • Tienen la etiqueta invitado
  • +
  • El usuario se genera aleatoriamente (ej: invitado_a3x9)
  • +
  • Auto-deshabilitación: Si se configura, el usuario se deshabilita automáticamente después de cierto tiempo
  • +
+
+
+ + +
+

+ + + + + Dispositivos +

+
+

Los dispositivos son los equipos físicos que se conectan (teléfonos, laptops, etc.):

+
    +
  • Se identifican por su dirección MAC (única para cada dispositivo)
  • +
  • Se registran automáticamente cuando un usuario se conecta
  • +
  • Pueden tener un nombre descriptivo (ej: "iPhone de Juan")
  • +
  • Un dispositivo puede pertenecer a múltiples usuarios (compartido)
  • +
  • Se puede desconectar un dispositivo específico sin afectar otros del mismo usuario
  • +
+

Relación Usuario-Dispositivo:

+
    +
  • dispositivos_utilizados — Todos los dispositivos que ha usado el usuario
  • +
  • dispositivos_conectados — Dispositivos actualmente conectados
  • +
+
+
+ + +
+

+ + + + Flujo de Conexión +

+
+
    +
  1. Dispositivo intenta conectarse al WiFi con usuario/contraseña
  2. +
  3. Access Point (NAS) envía solicitud authorize al servidor RADIUS
  4. +
  5. RADIUS verifica credenciales y responde Accept/Reject
  6. +
  7. Si es Accept, NAS envía post-auth y luego accounting Start
  8. +
  9. Durante la conexión, NAS envía Interim-Updates periódicos
  10. +
  11. Al desconectar, NAS envía accounting Stop
  12. +
+
+
+
+
+