anónimo y autenticación de usuario

Hola a todos, tengo la siguiente consulta, creo que es algo sencillo pero no logro resolverlo.
Tengo mi aplicación toba con diferentes perfiles con diferentes niveles de acceso a las operaciones y al menú.
También tengo una serie de opciones para los usuario anónimos.
Lo que busco es que al ingresar a la aplicación se vea un menú con opciones básicas (para anónimos) y que al pulsar sobre un botón “ingresar” aparezca el formulario de login).
He visto que toba cuenta con dos opciones para autenticación: exigir autenticación o no exigirla.
Si no exijo autenticación automáticamene ingreso como autenticado. He configurado la operación “Autenticación” para que aparezca en el menú y así poder loguearme con un usuario pero no funciona. Lo que sucede, según he inspeccionado el código, el manejador de sesiones consulta el parámetro ‘requiere_validacion’ y como se encuentra seteado a falso, no muestra la pantalla de logueo.

Luego probé lo siguiente:
Configuré el proyecto para exigir autenticación, pero al iniciar el proyecto que inicie como anónimo para ellos pensé en agregar el siguiente código en alguna parte:
$hay_sesion = toba::manejador_sesiones()->existe_sesion_activa();
if( !$hay_sesion)
toba::manejador_sesiones()->login_anonimo();
En un principio, sólo para probar lo hice en conf__login (entiendo que está mal pues siempre se cumple la condición e ingresa como anónimo y nunca muestra el formulario de login al cerrar la sesión del anónimo).

Luego pensé en buscar la manera que al cerrar sesión muestre el formulario de logueo.
El caso es que no descubro donde agregar ese código, pensé en www/aplicacion.php, pero ocurre lo mismo.

Otra alternativa, creo que sería modificar el manejador de sesión pero no quiero hacerlo pues es parte del núcleo de toba.

No sé si se entiende la idea.
Por lo pronto he agregado un botón en el formulario de login que dice “ingresar como anónimo” y en la ejecución del evento invoco al método:
toba::manejador_sesiones()->login_anonimo();

Desde ya muchas gracias.

Hola Roberto,

la idea se entiende, creo que lo que podrias hacer es lo siguiente:

  • Generar un perfil para el usuario anonimo que tenga esas operaciones.
  • Generarte un usuario ‘anonimo’ que tenga ese perfil funcional y unicamente ese.
  • Dejar en la pagina de login, un boton tipo ‘Registrarme’ … que autocomplete el form de login con usr/pwd para el usuario que creaste en el punto 2.
    De esa manera tenes un usuario ‘anonimo’ que pasa por el login, lo que estas haciendo en realidad… es darle un pwd conocido por todos.
  • Para cerrar la sesion en este caso, podes usar la misma api de toba… fijate que el icono que dispara la finalizacion de la sesion, hace un llamado JS.

Una alternativa al esquema, es hacer uso de operaciones publicas… el boton en cuestion entonces, te llevaria a una operacion publica,
en cuanto quisieras cerrar la sesion, deberias redirigir al sistema a la operacion de login.

En cualquiera de los dos casos seguis sin modificar el esquema de autenticacion, lo que le das es un camino para bypassearlo bajo ciertas circunstancias unicamente.
Por que conviene asi?, porque para usar un usuario realmente anonimo, el sistema no tiene que tener autenticacion de ningun tipo… lo cual no creo sea lo que buscas.
En dicho caso no hay una sesion que cerrar, porque con navegar la URL ya accedes al sistema.

Saludos