Siguiente: Calidad de servicio
Subir: Control de acceso
Anterior: Aplicaciones principales
  Índice General
- check_datos3.8.El sistema Nocat de autenticación no proporciona
control de estado, es decir, no guarda en ningún lugar qué usuarios están conectados. Teniendo esto en
cuenta el sistema no es capaz de darse cuenta si todos los clientes se autentican con el
mismo login. El servidor de autenticación cada vez que recibe una petición de un login,
si está en la tabla member, lo acepta sin hacer ninguna comprobación. Nosotros hemos
creado la función check_datos para comprobar varios parámetros.
La función check_datos es llamada desde login.cgi que es el script que se ejecuta
cuando un usuario se autentica. Después de que este script compruebe que el usuario existe y
guarde a qué grupo pertenece, se llama a la función check_datos con los parámetros login y
ubicación.
La función check_datos comprueba que el usuario ya ha entrado en su
periodo de alta, que todavía no ha salido del periodo y también que no haya
agotado el bono. Si cumple estas condiciones comprueba que no hay ninguna conexión activa
con ese login, para ello consulta la tabla conexiones. Esta comprobación se hace para evitar
que un usuario comparta su login y puedan entrar varias personas a la vez con el mismo
login. Si no existe ninguna conexión, se comprueba que la ubicación desde donde se está intentando conectar
coincide con la ubicación que dicho usuario tiene en la tabla activacion, o bien, que en la tabla
activacion el campo ubicacion tiene valor ''NULL'', y entonces el usuario
se puede conectar desde cualquier pasarela.
- resta. Esta función se utiliza en la función salida para restar dos tiempos. Los formatos de entrada
pueden ser AAAA-MM-DD HH:MM:SS o también HH:MM:SS, la salida de la función es una cadena
con formato HH:MM:SS resultado de restar el primer parámetro menos el segundo. Es utilizado
para calcular la duración de una conexión del bono y para calcular el tiempo que le queda
por consumir al bono.
- log. Función que recibe un mensaje como parámetro y lo saca en el syslog.
- alta_nocat. Esta función se encarga de insertar un usuario dentro de las
tablas member y network. Además inserta la fila correpondiente
a dicho usuario dentro del histórico de activación. Esta función será invocada desde check_1hora
y desde alguna aplicación de administración cuando un usuario se da de alta y está en
ese momento activo.
- baja_nocat. Función que da de baja en la base de datos nocat. Borra de las
tablas member y network al usuario que se le pasa como parámetro. Esta función es
invocada desde check_1min, check_1hora y check_datos. Además dentro
de esta función es donde cerramos el histórico de activación.
- baja_conex. Función que borra de la tabla conexiones al usuario que se pasa por parámetro
y lo inserta en el histórico. Como primer parámetro se le pasa el manejador de la base de datos ControlNocat
y como segundo el login a dar de baja. Esta función sólo es invocada desde salida.
Siguiente: Calidad de servicio
Subir: Control de acceso
Anterior: Aplicaciones principales
  Índice General
Jesús Martín
2003-09-16