Le backend de session explorable (Apache::Session::Browseable) fonctionne exactement comme le module Apache::Session::* correspondant mais ajoute des index qui améliore les performances de l'explorateur de session et les restrictions de sessions.
Current debian wheezy 0.7.1 version is obsolete and not functionnal. Last version can be found on CPAN : http://search.cpan.org/dist/Apache-Session-Browseable/
Lorsqu'on utilise des fonctionnalités telles SAML (authentification ou fournisseur d'identité), CAS (fournisseur d'identité) ou le service de réinitialisation de mots-de-passe, il faut également indexer quelques champs.
Le tableau suivant liste les champs à indexer suivant les fonctionnalités dont on souhaite améliorer les performances :
Fonctionnalité | Champs à indexer |
---|---|
Explorateur de sessions | ipAddr WHATTOTRACE _httpSessionType ipAddr |
Resctriction d'ouverture de session | ipAddr WHATTOTRACE |
Authentification ou fourniture d'identité SAML | _saml_id ProxyID _nameID _assert_id _art_id _session_id |
Fourniture d'identité CAS | _cas_id |
Réinitialisation de mots-de-passe | user |
Pour utiliser Redis, il faut preparer la base de données. Voir backend de session Redis.
Exemple avec MySQL :
La base de donnée doit être préparée exactement comme celle du backend de session SQL si ce n'est qu'un champ doit être ajouté pour chaque donnée à indexer.
CREATE TABLE sessions ( id CHAR(32) NOT NULL PRIMARY KEY, a_session BLOB, _whatToTrace VARCHAR(255), ipAddr VARCHAR(15), KEY _whatToTrace (_whatToTrace), KEY ipAddr (ipAddr) );
Pour utiliser Redis, il faut ajouter le paramètre “Index” dans Paramètres généraux
» Sessions
» Stockage des sessions
» Module Apache::Session
:
Paramètres exigés | ||
---|---|---|
Nom | Commentaire | Exemple |
server | Serveur Redis | 127.0.0.1:6379 |
Index | Index | _whatToTrace ipAddr |
Exemple avec MySQL:
Aller dans le manager et mettre le module de session (Apache::Session::Browseable::MySQL pour MySQL) dans Paramètres généraux
» Sessions
» Stockage des sessions
» Module Apache::Session
et ajouter le paramètre suivant (sensible à la casse) :
Paramètres exigés | ||
---|---|---|
Nom | Commentaire | Exemple |
DataSource | La chaîne DBI | dbi:mysql:dbname=sessions |
UserName | Le login de la base de données | lemonldapng |
Mot-de-passe | Le mot de passe de la base de données | mysuperpassword |
Index | Index | _whatToTrace ipAddr |
Pour les bases de données telles PostgreSQL, ne pas oublier d'ajouter “Commit” avec une valeur de 1
Restreindre l'accès réseau à la base de données.
On peut utiliser différent login/mot-de-passe pour les serveurs en surchargeant les paramètres globalStorage
et globalStorageOptions
dans le fichier lemonldap-ng.ini.