Browseable session backend (Apache::Session::Browseable) works exactly like Apache::Session::* corresponding module but add index that increase session explorer and session restrictions performances.
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 |
You can use Redis and set up the database like explained in Redis session backend.
You then just have to add the Index
parameter in General parameters
» Sessions
» Session storage
» Apache::Session module
:
Paramètres exigés | ||
---|---|---|
Nom | Commentaire | Exemple |
server | Serveur Redis | 127.0.0.1:6379 |
Index | Index | _whatToTrace ipAddr |
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) );
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
Go in the Manager and set the session module to Apache::Session::Browseable::LDAP
. Then configure the options like in LDAP session backend.
You need to add the Index
field and can also configure the ldapAttributeIndex
field to set the attribute name where index values will be stored.
Paramètres exigés | ||
---|---|---|
Nom | Commentaire | Exemple |
ldapServer | URI du serveur | ldap://localhost |
ldapConfBase | DN de la branche des sessions | ou=sessions,dc=example,dc=com |
ldapBindDN | Login de connexion | cn=admin,dc=example,dc=password |
ldapBindPassword | Mot-de-passe de connexion | secret |
Index | Index list | _whatToTrace ipAddr |
Optional parameters | ||
Nom | Commentaire | Default value |
ldapObjectClass | Objectclass of the entry | applicationProcess |
ldapAttributeId | Attribute storing session ID | cn |
ldapAttributeContent | Attribute storing session content | description |
ldapAttributeIndex | Attribute storing index | ou |
Restrict network access to the backend.
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.