Browseable session backend (<ahref="http://search.cpan.org/perldoc?Apache::Session::Browseable"class="urlextern"title="http://search.cpan.org/perldoc?Apache::Session::Browseable"rel="nofollow">Apache::Session::Browseable</a>) works exactly like Apache::Session::* corresponding module but add index that increase <ahref="../../documentation/features.html#session_explorer"class="wikilink1"title="documentation:features">session explorer</a> and <ahref="../../documentation/features.html#session_restrictions"class="wikilink1"title="documentation:features">session restrictions</a> performances.
If you use features like <abbrtitle="Security Assertion Markup Language">SAML</abbr> (authentication and issuer), <abbrtitle="Central Authentication Service">CAS</abbr> (issuer) and password reset self-service, you also need to index some fields.
<p><divclass="noteclassic">Without index, <abbrtitle="LemonLDAP::NG">LL::NG</abbr> will have to retrieve all sessions stored in backend and parse them to find the needed sessions. With index, <abbrtitle="LemonLDAP::NG">LL::NG</abbr> wil be able to get only wanted sessions from the backend.
<p><divclass="notetip">It is advised to use separate session backends for standard sessions, <abbrtitle="Security Assertion Markup Language">SAML</abbr> sessions and <abbrtitle="Central Authentication Service">CAS</abbr> sessions, in order to manage index separately.
You can use Redis and set up the database like explained in <ahref="../../documentation/2.0/nosqlsessionbackend.html"class="wikilink1"title="documentation:2.0:nosqlsessionbackend">Redis session backend</a>.
You then just have to add the <code>Index</code> parameter in <code>General parameters</code> » <code>Sessions</code> » <code>Session storage</code> » <code>Apache::Session module</code> :
Database must be prepared exactly like in <ahref="../../documentation/2.0/sqlsessionbackend.html#prepare_the_database"class="wikilink1"title="documentation:2.0:sqlsessionbackend">SQL session backend</a> except that a field must be added for each data to index.
id <spanclass="kw1">CHAR</span><spanclass="br0">(</span><spanclass="nu0">32</span><spanclass="br0">)</span><spanclass="kw1">NOT</span><spanclass="kw1">NULL</span><spanclass="kw1">PRIMARY</span><spanclass="kw1">KEY</span><spanclass="sy0">,</span>
<p><divclass="noteimportant">Change char(32) by char(64) if you use the now recommended SHA256 hash algorithm. See <ahref="../../documentation/current/sessions.html"class="wikilink1"title="documentation:latest:sessions">Sessions</a> for more details
Go in the Manager and set the session module (<ahref="http://search.cpan.org/perldoc?Apache::Session::Browseable::MySQL"class="urlextern"title="http://search.cpan.org/perldoc?Apache::Session::Browseable::MySQL"rel="nofollow">Apache::Session::Browseable::MySQL</a> for MySQL) in <code>General parameters</code> » <code>Sessions</code> » <code>Session storage</code> » <code>Apache::Session module</code> and add the following parameters (case sensitive):
Go in the Manager and set the session module to <code>Apache::Session::Browseable::LDAP</code>. Then configure the options like in <ahref="../../documentation/2.0/ldapsessionbackend.html"class="wikilink1"title="documentation:2.0:ldapsessionbackend">LDAP session backend</a>.
You need to add the <code>Index</code> field and can also configure the <code>ldapAttributeIndex</code> field to set the attribute name where index values will be stored.
<tdclass="col0 centeralign"><strong>ldapServer</strong></td><tdclass="col1"><abbrtitle="Uniform Resource Identifier">URI</abbr> of the server </td><tdclass="col2"> ldap://localhost </td>
<thclass="col0 centeralign"> Name </th><thclass="col1 centeralign"> Comment </th><thclass="col2 centeralign"> Default value </th>
</tr>
<trclass="row9 rowodd">
<tdclass="col0 centeralign"><strong>ldapObjectClass</strong></td><tdclass="col1"> Objectclass of the entry </td><tdclass="col2"> applicationProcess </td>
</tr>
<trclass="row10 roweven">
<tdclass="col0 centeralign"><strong>ldapAttributeId</strong></td><tdclass="col1"> Attribute storing session ID </td><tdclass="col2"> cn </td>
You can also use different user/password for your servers by overriding parameters <code>globalStorage</code> and <code>globalStorageOptions</code> in lemonldap-ng.ini file.