Backend de sessions SOAP

Le portail de LL::NG fournit des terminaisons SOAP pour la gestion des sessions :

La backend de sessions peut être utilisé pour partager les sessions stockées dans un backend hors réseau (tel la backend de sessions File) ou un backend réseau protégé par un pare-feu qui n'accepte que le flux HTTP.

Dans la plupart des cas, le backend de session SOAP est utilisé par des agents installés sur des serveurs externes.

Pour le configurer, le backend de session SOAP est défini via le manager dans la configuration globale (utilisée par tous les agents) et le backend de session réel est configuré pour les composants locaux dans lemonldap-ng.ini.

Mise en marche

Manager

Premièrement, activer SOAP dans Paramètres généraux » Paramètres avancés » SOAP

Ensuite, mettre Lemonldap::NG::Common::Apache::Session::SOAP dans Paramètres généraux » Sessions » Stockage des sessions » Module Apache::Session et ajouter les paramètres suivants (sensibles à la casse) :

Paramètres exigés
Nom Commentaire Exemple
proxy URL de la terminaison SOAPdes sessions http://auth.example.com/index.pl/sessions

Utiliser /adminSessions si l'agent doit modifier la session, par exemple si on configure un délai d'inactivité des sessions.

Apache

Les terminaisons SOAP des sessions doivent être autorisées dans la configuration Apache du portail (par exemple, accès par plage IP) :

# SOAP functions for sessions management (disabled by default)
<Location /index.pl/adminSessions>
    Order deny,allow
    Deny from all
    Allow from 192.168.2.0/24
</Location>
 
# SOAP functions for sessions access (disabled by default)
<Location /index.pl/sessions>
    Order deny,allow
    Deny from all
    Allow from 192.168.2.0/24
</Location>

Backend de session réel

Le backend de session réel est configuré dans lemonldap-ng.ini dans la section portal (le portail héberge le service SOAP de sessions et fera le lien entre les requêtes SOAP et les sessions réelles).

Par exemple, si les sessions réelels sont stockées dans des fichiers :

[portal]
globalStorage = Apache::Session::File
globalStorageOptions = { 'Directory' => '/var/lib/lemonldap-ng/sessions/', 'LockDirectory' => '/var/lib/lemonldap-ng/sessions/lock/', }

Si l'explorateur de sessions est sur le même serveur que le portail, utiliser soit la terminaison adminSessions dans la configuration eu manager, ou surcharger les paramètres globalStorage et globalStorageOptions dans la section all (et pas portal) de lemonldap-ng.ini.