<liclass="level2"><divclass="li"><ahref="#real_session_backend">Backend de session réel</a></div></li>
</ul></li>
</ul>
</div>
</div><!-- TOC END -->
<h1class="sectionedit1"id="soap_session_backend">Backend de sessions SOAP</h1>
<divclass="level1">
<p>
<abbrtitle="LemonLDAP::NG">LL::NG</abbr> portal provides SOAP end points for sessions management:
</p>
<ul>
<liclass="level1"><divclass="li"><strong>sessions/</strong> : accès en lecture seule aux sessions (suffisant pour les agents distants)</div>
</li>
<liclass="level1"><divclass="li"><strong>adminSessions/</strong> : accès en lecture/écriture aux sessions (nécessaire pour les portails ou manager distants ou les handlers distants qui modifient les sessions)</div>
</li>
</ul>
<p>
This session backend can be used to share sessions stored in a non-network backend (like <ahref="filesessionbackend.html"class="wikilink1"title="documentation:2.0:filesessionbackend">file session backend</a>) or in a network backend protected with a firewall that only accepts HTTP flows.
</p>
<p>
Most of the time, SOAP session backend is used by Handlers installed on external servers.
</p>
<p>
To configure it, SOAP session backend will be set trough Manager in global configuration (used by all Hanlders), and the real session backend will be configured for local components in lemonldap-ng.ini.
<h2class="sectionedit2"id="setup">Mise en marche</h2>
<divclass="level2">
</div><!-- EDIT2 SECTION "Setup" [833-851] -->
<h3class="sectionedit3"id="manager">Manager</h3>
<divclass="level3">
<p>
First, active SOAP in <code>General parameters</code> » <code>Advanced parameters</code> » <code>SOAP</code>.
</p>
<p>
Then, set <code>Lemonldap::NG::Common::Apache::Session::SOAP</code> in <code>General parameters</code> » <code>Sessions</code> » <code>Session storage</code> » <code>Apache::Session module</code> and add the following parameters (case sensitive):
<tdclass="col0 centeralign"><strong>proxy</strong></td><tdclass="col1"><abbrtitle="Uniform Resource Locator">URL</abbr> of sessions SOAP end point </td><tdclass="col2"> http://auth.example.com/index.fcgi/sessions </td>
By default, only few sessions keys are shared by SOAP (ipAddr, _utime, _session_id), you need to define which other keys you want to share in <code>General parameters</code> » <code>Advanced parameters</code> » <code>SOAP</code> » <code>Exported attributes</code>.
</p>
<p>
You must start with <code>+</code> to keep default keys, else they will not be shared. Par exemple :
Sessions SOAP end points access must be allowed in Apache portal configuration (for example, access by <abbrtitle="Internet Protocol">IP</abbr> range):
</p>
<preclass="code file apache"><spanclass="co1"># SOAP functions for sessions management (disabled by default)</span>
<h3class="sectionedit6"id="real_session_backend">Backend de session réel</h3>
<divclass="level3">
<p>
Real session backend will be configured in <code>lemonldap-ng.ini</code>, in <code>portal</code> section (the portal hosts the SOAP service for sessions, and will do the link between SOAP requests and real sessions).
</p>
<p>
Par exemple, si les sessions réelels sont stockées dans des <ahref="filesessionbackend.html"class="wikilink1"title="documentation:2.0:filesessionbackend">fichiers</a> :
<divclass="notetip">Si l'explorateur de sessions est sur le même serveur que le portail, utiliser soit la terminaison <strong>adminSessions</strong> dans la configuration eu manager, ou surcharger les paramètres <code>globalStorage</code> et <code>globalStorageOptions</code> dans la section all (et pas portal) de <code>lemonldap-ng.ini</code>.