</p><p></p><divclass="notewarning">Ce module fournit un protocole de fédération d'identité spécifique à <abbrtitle="LemonLDAP::NG">LL::NG</abbr>. Il est préférable d'utiliser des protocoles standards tels <ahref="../../documentation/1.9/idpsaml.html"class="wikilink1"title="documentation:1.9:idpsaml">SAML</a>, <ahref="../../documentation/1.9/idpopenidconnect.html"class="wikilink1"title="documentation:1.9:idpopenidconnect">OpenID</a> ou <ahref="../../documentation/1.9/idpcas.html"class="wikilink1"title="documentation:1.9:idpcas">CAS</a>.
</p><p></p><divclass="notewarning">Ce module fournit un protocole de fédération d'identité spécifique à <abbrtitle="LemonLDAP::NG">LL::NG</abbr>. Il est préférable d'utiliser des protocoles standards tels <ahref="../../documentation/2.0/idpsaml.html"class="wikilink1"title="documentation:2.0:idpsaml">SAML</a>, <ahref="../../documentation/2.0/idpopenidconnect.html"class="wikilink1"title="documentation:2.0:idpopenidconnect">OpenID</a> ou <ahref="../../documentation/2.0/idpcas.html"class="wikilink1"title="documentation:2.0:idpcas">CAS</a>.
</div></p>
</p>
...
...
@@ -45,14 +45,14 @@
<ul>
<liclass="level1"><divclass="li"> Le portail principal est configuré pour utiliser le <abbrtitle="Authentification inter-domaines">CDA</abbr>. Le portail secondaire est declaré dans le Manager du système <abbrtitle="LemonLDAP::NG">LL::NG</abbr> principal comme une application (sinon les utilisateurs seront rejetés).</div>
</li>
<liclass="level1"><divclass="li"> Le portail du système <abbrtitle="LemonLDAP::NG">LL::NG</abbr> secondaire est configuré pour déléguer l'authentification à un portail distant. Une requête à la base de données des sessions principale est effectuée (via le <ahref="../../documentation/1.9/soapsessionbackend.html"class="wikilink1"title="documentation:1.9:soapsessionbackend">backend de session SOAP</a>) pour être sûr que la session existe.</div>
<liclass="level1"><divclass="li"> Le portail du système <abbrtitle="LemonLDAP::NG">LL::NG</abbr> secondaire est configuré pour déléguer l'authentification à un portail distant. Une requête à la base de données des sessions principale est effectuée (via le <ahref="../../documentation/2.0/soapsessionbackend.html"class="wikilink1"title="documentation:2.0:soapsessionbackend">backend de session SOAP</a>) pour être sûr que la session existe.</div>
</li>
<liclass="level1"><divclass="li"> Si <code>exportedAttr</code> est défini, seuls ces attributs sont copiés dans la base des sessions du système <abbrtitle="LemonLDAP::NG">LL::NG</abbr> secondaire. Sinon, toutes les données sont copiées.</div>
<liclass="level1"><divclass="li"> Un utilisateur essaie d'accéder à une application du système <abbrtitle="LemonLDAP::NG">LL::NG</abbr> secondaire sans avoir de session dans cette aire</div>
...
...
@@ -115,11 +115,11 @@ Ensuite, aller dans les <code>paramètres Remote</code> :
</li>
<liclass="level1"><divclass="li"><strong>Nom du cookie</strong> (optionnel) : nom du cookie du portail primaire, s'il est différent de celui du portail secondaire</div>
</li>
<liclass="level1"><divclass="li"><strong>Module de sessions</strong> : mettre <code>Lemonldap::NG::Common::Apache::Session::SOAP</code> pour le <ahref="../../documentation/1.9/soapsessionbackend.html"class="wikilink1"title="documentation:1.9:soapsessionbackend">backend de session SOAP</a>.</div>
<liclass="level1"><divclass="li"><strong>Module de sessions</strong> : mettre <code>Lemonldap::NG::Common::Apache::Session::SOAP</code> pour le <ahref="../../documentation/2.0/soapsessionbackend.html"class="wikilink1"title="documentation:2.0:soapsessionbackend">backend de session SOAP</a>.</div>
</li>
<liclass="level1"><divclass="li"><strong>Options du module de sessions</strong> :</div>
<ul>
<liclass="level2"><divclass="li"><strong>proxy</strong>: point d'accès SOAP (voir la documentation du <ahref="../../documentation/1.9/soapsessionbackend.html"class="wikilink1"title="documentation:1.9:soapsessionbackend">backend de session SOAP</a>)</div>
<liclass="level2"><divclass="li"><strong>proxy</strong>: point d'accès SOAP (voir la documentation du <ahref="../../documentation/2.0/soapsessionbackend.html"class="wikilink1"title="documentation:2.0:soapsessionbackend">backend de session SOAP</a>)</div>
</li>
</ul>
</li>
...
...
@@ -151,7 +151,7 @@ Ainsi sur chacun des portails principaux, les utilisateurs internes peuvent acc
@@ -51,7 +51,7 @@ Pour chaque IDP, il faut configurer les attributs à collecter. Certains peuvent
</p>
<p>
</p><p></p><divclass="notetip"><abbrtitle="LemonLDAP::NG">LL::NG</abbr> peut également agir comme un <ahref="../../documentation/1.9/idpsaml.html"class="wikilink1"title="documentation:1.9:idpsaml">IDP SAML</a>, ce qui permet d'interconnecter deux systèmes <abbrtitle="LemonLDAP::NG">LL::NG</abbr>.
</p><p></p><divclass="notetip"><abbrtitle="LemonLDAP::NG">LL::NG</abbr> peut également agir comme un <ahref="../../documentation/2.0/idpsaml.html"class="wikilink1"title="documentation:2.0:idpsaml">IDP SAML</a>, ce qui permet d'interconnecter deux systèmes <abbrtitle="LemonLDAP::NG">LL::NG</abbr>.
</div></p>
</p>
...
...
@@ -66,7 +66,7 @@ Pour chaque IDP, il faut configurer les attributs à collecter. Certains peuvent
<divclass="level3">
<p>
Voir le chapître de configuration du <ahref="../../documentation/1.9/samlservice.html"class="wikilink1"title="documentation:1.9:samlservice">service SAML</a>.
Voir le chapître de configuration du <ahref="../../documentation/2.0/samlservice.html"class="wikilink1"title="documentation:2.0:samlservice">service SAML</a>.
@@ -85,7 +85,7 @@ Dans <code>Paramètres généraux</code> > <code>Modules d'authentification</
</ul>
<p>
</p><p></p><divclass="notetip">Comme les mots-de-passe ne sernt pas gérés par <abbrtitle="LemonLDAP::NG">LL::NG</abbr>, il est possile de désactiver le <ahref="../../documentation/1.9/portalmenu.html#menu_modules"class="wikilink1"title="documentation:1.9:portalmenu">module mots-de-passe du menu</a>.
</p><p></p><divclass="notetip">Comme les mots-de-passe ne sernt pas gérés par <abbrtitle="LemonLDAP::NG">LL::NG</abbr>, il est possile de désactiver le <ahref="../../documentation/2.0/portalmenu.html#menu_modules"class="wikilink1"title="documentation:2.0:portalmenu">module mots-de-passe du menu</a>.
</div></p>
</p>
...
...
@@ -188,7 +188,7 @@ Par exemple, pour pré-sélectionner cet IDP pour les utilisateurs provenant dui
</li>
<liclass="level1"><divclass="li"><strong>Authentification depuis le fournisseur autorisée</strong> : autorise l'utilisateur à se connecter directement depuis un lien de l'IDP. Dans ce cas, l'authentification n'est pas une réponse à une requête d'authentification ce qui diminue les capacités de contrôle.</div>
</li>
<liclass="level1"><divclass="li"><strong>Contexte d'authentification demandé</strong> : ce contexte est déclaré dans la requête d'authentification. À la réception de la requête, le contexte d'authentification réel est traduit en un niveau d'authentification interne (voir <ahref="../../documentation/1.9/samlservice.html#authentication_contexts"class="wikilink1"title="documentation:1.9:samlservice">comment configurer la translation</a>), utilisable pour accorder ou non la création de session.</div>
<liclass="level1"><divclass="li"><strong>Contexte d'authentification demandé</strong> : ce contexte est déclaré dans la requête d'authentification. À la réception de la requête, le contexte d'authentification réel est traduit en un niveau d'authentification interne (voir <ahref="../../documentation/2.0/samlservice.html#authentication_contexts"class="wikilink1"title="documentation:2.0:samlservice">comment configurer la translation</a>), utilisable pour accorder ou non la création de session.</div>
</li>
</ul>
...
...
@@ -209,7 +209,7 @@ Par exemple, pour pré-sélectionner cet IDP pour les utilisateurs provenant dui
<divclass="level5">
<p>
Ces options surchargent les options de signature du service (voir la <ahref="../../documentation/1.9/samlservice.html#general_options"class="wikilink1"title="documentation:1.9:samlservice">configuration du service SAML</a>).
Ces options surchargent les options de signature du service (voir la <ahref="../../documentation/2.0/samlservice.html#general_options"class="wikilink1"title="documentation:2.0:samlservice">configuration du service SAML</a>).
</p>
<ul>
<liclass="level1"><divclass="li"><strong>Signature des messages <abbrtitle="Authentification unique (Single Sign On)">SSO</abbr></strong> : signe les messages <abbrtitle="Authentification unique (Single Sign On)">SSO</abbr></div>
@@ -95,7 +95,7 @@ Déclarer ensuite les en-têtes HTTP exportés par le <abbr title="Authentificat
</table></div><!-- EDIT5 TABLE [1510-1612] -->
<p>
Voir aussi la <ahref="../../documentation/1.9/exportedvars.html"class="wikilink1"title="documentation:1.9:exportedvars">configuration des variables exportées</a>.
Voir aussi la <ahref="../../documentation/2.0/exportedvars.html"class="wikilink1"title="documentation:2.0:exportedvars">configuration des variables exportées</a>.
<abbrtitle="LemonLDAP::NG">LL::NG</abbr> utilise le <ahref="http://httpd.apache.org/docs/current/mod/mod_ssl.html"class="urlextern"title="http://httpd.apache.org/docs/current/mod/mod_ssl.html"rel="nofollow">module SSL d'Apache</a>, comme n'importe quel <ahref="../../documentation/1.9/authapache.html"class="wikilink1"title="documentation:1.9:authapache">module d'authentification d'Apache</a> avec quelques fonctionnalités supplémentaires :
<abbrtitle="LemonLDAP::NG">LL::NG</abbr> utilise le <ahref="http://httpd.apache.org/docs/current/mod/mod_ssl.html"class="urlextern"title="http://httpd.apache.org/docs/current/mod/mod_ssl.html"rel="nofollow">module SSL d'Apache</a>, comme n'importe quel <ahref="../../documentation/2.0/authapache.html"class="wikilink1"title="documentation:2.0:authapache">module d'authentification d'Apache</a> avec quelques fonctionnalités supplémentaires :
</p>
<ul>
<liclass="level1"><divclass="li"> Choix de n'importe quel attribut du certificat comme nom d'utilisateur principal</div>
...
...
@@ -136,7 +136,7 @@ Toutes les options SSL sont documentées dans la <a href="http://httpd.apache.or
Ci-dessous les principales options utilisées par <abbrtitle="LemonLDAP::NG">LL::NG</abbr> :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>SSLVerifyClient</strong> : mettre à <code>optional</code> pour autoriser les utilisateurs ne disposant pas d'un certificat valide à accéder à la page du portail <abbrtitle="LemonLDAP::NG">LL::NG</abbr> Pour basculer vers un autre backend d'authentification, utiliser le module <ahref="../../documentation/1.9/authmulti.html"class="wikilink1"title="documentation:1.9:authmulti">Multi</a>, par exemple : <code>Multi SSL;LDAP</code></div>
<liclass="level1"><divclass="li"><strong>SSLVerifyClient</strong> : mettre à <code>optional</code> pour autoriser les utilisateurs ne disposant pas d'un certificat valide à accéder à la page du portail <abbrtitle="LemonLDAP::NG">LL::NG</abbr> Pour basculer vers un autre backend d'authentification, utiliser le module <ahref="../../documentation/2.0/authmulti.html"class="wikilink1"title="documentation:2.0:authmulti">Multi</a>, par exemple : <code>Multi SSL;LDAP</code></div>
</li>
<liclass="level1"><divclass="li"><strong>SSLOptions</strong> : mettre à <code>+StdEnvVars</code> pour obtenir les champs du certificat dans les variables d'environnement</div>
@@ -78,7 +78,7 @@ Si on utilise WebID comme base de données utilisateurs, déclarer les valeurs d
</ul>
<p>
Voir aussi la <ahref="../../documentation/1.9/exportedvars.html"class="wikilink1"title="documentation:1.9:exportedvars">configuration des variables exportées</a>.
Voir aussi la <ahref="../../documentation/2.0/exportedvars.html"class="wikilink1"title="documentation:2.0:exportedvars">configuration des variables exportées</a>.
<tdclass="col0 leftalign"> Réinitialisation de mots-de-passe </td><tdclass="col1 centeralign"> user </td>
</tr>
</table></div><!-- EDIT3 TABLE [877-1186] -->
</table></div><!-- EDIT3 TABLE [877-1222] -->
<p>
</p><p></p><divclass="noteimportant"><em>WHATTOTRACE</em> doit être remplacé par l'attribut ou la macro configurée dans le paramètre indiquant le champ utilisateur à stocker dans les journaux (REMOTE_USER)
...
...
@@ -82,13 +85,13 @@ Le tableau suivant liste les champs à indexer suivant les fonctionnalités dont
Il est possible d'utiliser Redis comme expliqué dans <ahref="../../documentation/1.9/nosqlsessionbackend.html"class="wikilink1"title="documentation:1.9:nosqlsessionbackend">Backend de sessions Redis</a>.
Il est possible d'utiliser Redis comme expliqué dans <ahref="../../documentation/2.0/nosqlsessionbackend.html"class="wikilink1"title="documentation:2.0:nosqlsessionbackend">Backend de sessions Redis</a>.
</p>
<p>
...
...
@@ -109,9 +112,9 @@ Il suffira juste d'ajouter le paramètre <code>Index</code> dans <code>Paramètr
<trclass="row3 rowodd">
<tdclass="col0 centeralign"><strong>Index</strong></td><tdclass="col1"> Index </td><tdclass="col2"> _whatToTrace ipAddr </td>
<h3class="sectionedit7"id="prepare_database">Préparer la base de données</h3>
<divclass="level3">
<p>
La base de donnée doit être préparée exactement comme celle du <ahref="../../documentation/1.9/sqlsessionbackend.html#prepare_the_database"class="wikilink1"title="documentation:1.9:sqlsessionbackend">backend de session SQL</a> si ce n'est qu'un champ doit être ajouté pour chaque donnée à indexer.
La base de donnée doit être préparée exactement comme celle du <ahref="../../documentation/2.0/sqlsessionbackend.html#prepare_the_database"class="wikilink1"title="documentation:2.0:sqlsessionbackend">backend de session SQL</a> si ce n'est qu'un champ doit être ajouté pour chaque donnée à indexer.
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>
...
...
@@ -143,7 +146,7 @@ La base de donnée doit être préparée exactement comme celle du <a href="../.
Aller dans le manager et mettre le module de session à <code>Apache::Session::Browseable::LDAP</code> Configurer ensuite les options comme dans le <ahref="../../documentation/1.9/ldapsessionbackend.html"class="wikilink1"title="documentation:1.9:ldapsessionbackend">backend de sessions LDAP</a>.
Aller dans le manager et mettre le module de session à <code>Apache::Session::Browseable::LDAP</code> Configurer ensuite les options comme dans le <ahref="../../documentation/2.0/ldapsessionbackend.html"class="wikilink1"title="documentation:2.0:ldapsessionbackend">backend de sessions LDAP</a>.
</p>
<p>
...
...
@@ -237,9 +240,9 @@ Il faut ajouter le champ <code>Index</code>, on peut aussi configurer le champ <
<trclass="row12 roweven">
<tdclass="col0 centeralign"><strong>ldapAttributeIndex</strong></td><tdclass="col1"> Attribut où stocker les index </td><tdclass="col2"> ou </td>
@@ -43,16 +43,16 @@ La configuration de LemonLDAP::NG est stockée dans un backend permettant à tou
</ul>
<p>
La configuration détaillée des backends de stockage est disponible <ahref="../../documentation/1.9/start.html#configuration_database"class="wikilink1"title="documentation:1.9:start">ici</a>.
La configuration détaillée des backends de stockage est disponible <ahref="../../documentation/2.0/start.html#configuration_database"class="wikilink1"title="documentation:2.0:start">ici</a>.
</p></div></p>
</p>
<p>
Par défaut, la configuration est stockée dans des <ahref="../../documentation/1.9/fileconfbackend.html"class="wikilink1"title="documentation:1.9:fileconfbackend">fichiers</a>, donc l'accès par le réseau n'est en général pas possible. Pour contourner ce problème, utiliser <ahref="../../documentation/1.9/soapconfbackend.html"class="wikilink1"title="documentation:1.9:soapconfbackend">SOAP</a> pour l'accès à la configuration ou un service réseau tel une <ahref="../../documentation/1.9/sqlconfbackend.html"class="wikilink1"title="documentation:1.9:sqlconfbackend">base de donnée SQL</a> ou un <ahref="../../documentation/1.9/ldapconfbackend.html"class="wikilink1"title="documentation:1.9:ldapconfbackend">annuaire LDAP</a>.
Par défaut, la configuration est stockée dans des <ahref="../../documentation/2.0/fileconfbackend.html"class="wikilink1"title="documentation:2.0:fileconfbackend">fichiers</a>, donc l'accès par le réseau n'est en général pas possible. Pour contourner ce problème, utiliser <ahref="../../documentation/2.0/soapconfbackend.html"class="wikilink1"title="documentation:2.0:soapconfbackend">SOAP</a> pour l'accès à la configuration ou un service réseau tel une <ahref="../../documentation/2.0/sqlconfbackend.html"class="wikilink1"title="documentation:2.0:sqlconfbackend">base de donnée SQL</a> ou un <ahref="../../documentation/2.0/ldapconfbackend.html"class="wikilink1"title="documentation:2.0:ldapconfbackend">annuaire LDAP</a>.
</p>
<p>
Le backend de configuration peut être indiqué dans le <ahref="#local_file"title="documentation:1.9:configlocation ↵"class="wikilink1">fichier local de configuration</a>, dans la section <code>configuration</code>.
Le backend de configuration peut être indiqué dans le <ahref="#local_file"title="documentation:2.0:configlocation ↵"class="wikilink1">fichier local de configuration</a>, dans la section <code>configuration</code>.
</p>
<p>
...
...
@@ -63,7 +63,7 @@ Par exemple, pour configurer le backend de configuration <code>File</code> :
</p><p></p><divclass="notetip">Voir <ahref="../../documentation/1.9/changeconfbackend.html"class="wikilink1"title="documentation:1.9:changeconfbackend">Comment changer le backend de configuration</a>.
</p><p></p><divclass="notetip">Voir <ahref="../../documentation/2.0/changeconfbackend.html"class="wikilink1"title="documentation:2.0:changeconfbackend">Comment changer le backend de configuration</a>.
</div></p>
</p>
...
...
@@ -102,7 +102,7 @@ SI l'accès au manager est perdu, on peut le déprotéger en éditant <code>lemo
# * none : no protection</pre>
<p>
</p><p></p><divclass="notetip">Voir la <ahref="../../documentation/1.9/managerprotection.html"class="wikilink1"title="documentation:1.9:managerprotection">documentation de protection du manager</a> pour savoir comment utiliser les modules d'Apache ou <abbrtitle="LemonLDAP::NG">LL::NG</abbr> pour gérer l'accès au manager.
</p><p></p><divclass="notetip">Voir la <ahref="../../documentation/2.0/managerprotection.html"class="wikilink1"title="documentation:2.0:managerprotection">documentation de protection du manager</a> pour savoir comment utiliser les modules d'Apache ou <abbrtitle="LemonLDAP::NG">LL::NG</abbr> pour gérer l'accès au manager.
Voir <ahref="../../documentation/1.9/confignginx.html"class="wikilink1"title="documentation:1.9:confignginx">comment les déployer</a>.
Voir <ahref="../../documentation/2.0/confignginx.html"class="wikilink1"title="documentation:2.0:confignginx">comment les déployer</a>.
</p>
<p>
</p><p></p><divclass="notewarning">Le serveur <ahref="../../documentation/1.9/fastcgiserver.html"class="wikilink1"title="documentation:1.9:fastcgiserver">FastCGI LL::NG</a> doit être lancé séparemment.
</p><p></p><divclass="notewarning">Le serveur <ahref="../../documentation/2.0/fastcgiserver.html"class="wikilink1"title="documentation:2.0:fastcgiserver">FastCGI LL::NG</a> doit être lancé séparemment.
</div></p>
</p>
...
...
@@ -628,7 +628,7 @@ L'accès à l'interface de configuration n'est pas protégée par Nginx mais par
<divclass="level3">
<p>
Le handler Nginx est fourni par le <ahref="../../documentation/1.9/fastcgiserver.html"class="wikilink1"title="documentation:1.9:fastcgiserver">serveur FastCGI LemonLDAP::NG</a>.
Le handler Nginx est fourni par le <ahref="../../documentation/2.0/fastcgiserver.html"class="wikilink1"title="documentation:2.0:fastcgiserver">serveur FastCGI LemonLDAP::NG</a>.
</p>
<ul>
<liclass="level1"><divclass="li"> Intercepter les erreurs :</div>
...
...
@@ -785,7 +785,7 @@ Par exemple, pour surcharger l'apparence du portail :
</p><p></p><divclass="notetip">Il est nécessaire de connaître le nom technique du paramètre de configuration pour le faire. Se référer à la <ahref="../../documentation/1.9/parameterlist.html"class="wikilink1"title="documentation:1.9:parameterlist">liste des paramètres</a> pour le trouver.
</p><p></p><divclass="notetip">Il est nécessaire de connaître le nom technique du paramètre de configuration pour le faire. Se référer à la <ahref="../../documentation/2.0/parameterlist.html"class="wikilink1"title="documentation:2.0:parameterlist">liste des paramètres</a> pour le trouver.
@@ -33,7 +33,7 @@ La configuration de LemonLDAP::NG est construite autour des hôtes virtuels Apac
<divclass="level2">
<p>
Pour protéger un hôte virtuel dans Apache, l'agent LemonLDAP::NG doit être activé (voir <ahref="../../documentation/1.9/configlocation.html#apache"class="wikilink1"title="documentation:1.9:configlocation">configuration globale d'Apache</a>).
Pour protéger un hôte virtuel dans Apache, l'agent LemonLDAP::NG doit être activé (voir <ahref="../../documentation/2.0/configlocation.html#apache"class="wikilink1"title="documentation:2.0:configlocation">configuration globale d'Apache</a>).
</p>
<p>
...
...
@@ -109,7 +109,7 @@ La même chose avec le serveur distant configuré avec le même nom d'hôte :
</p>
<p>
</p><p></p><divclass="notetip">Certaines applications ont besoin de la variable d'environnement <code>REMOTE_USER</code> pour connaître le nom d'utilisateur connecté, qui n'est pas renseignée en mode reverse-proxy. Dans ce cas, voir <ahref="../../documentation/1.9/header_remote_user_conversion.html"class="wikilink1"title="documentation:1.9:header_remote_user_conversion">comment convertir les en-têtes en variable d'environnement</a>.
</p><p></p><divclass="notetip">Certaines applications ont besoin de la variable d'environnement <code>REMOTE_USER</code> pour connaître le nom d'utilisateur connecté, qui n'est pas renseignée en mode reverse-proxy. Dans ce cas, voir <ahref="../../documentation/2.0/header_remote_user_conversion.html"class="wikilink1"title="documentation:2.0:header_remote_user_conversion">comment convertir les en-têtes en variable d'environnement</a>.
Pour protéger un hôte virtuel dans Nginx, le serveur FastCGI de LemonLDAP::NG doit être lancé (voir <ahref="../../documentation/1.9/fastcgiserver.html"class="wikilink1"title="documentation:1.9:fastcgiserver">Serveur FastCGI de LemonLDAP::NG</a>).
Pour protéger un hôte virtuel dans Nginx, le serveur FastCGI de LemonLDAP::NG doit être lancé (voir <ahref="../../documentation/2.0/fastcgiserver.html"class="wikilink1"title="documentation:2.0:fastcgiserver">Serveur FastCGI de LemonLDAP::NG</a>).
</p>
<p>
...
...
@@ -353,7 +353,7 @@ Un hôte vituel contient :
<divclass="level3">
<p>
Voir <strong><ahref="../../documentation/1.9/writingrulesand_headers.html"class="wikilink1"title="documentation:1.9:writingrulesand_headers">Écrire des règles et des en-têtes</a></strong> pour savoir comment configurer le contrôle d'accès et les en-têtes HTTP transmis à l'application par <abbrtitle="LemonLDAP::NG">LL::NG</abbr>.
Voir <strong><ahref="../../documentation/2.0/writingrulesand_headers.html"class="wikilink1"title="documentation:2.0:writingrulesand_headers">Écrire des règles et des en-têtes</a></strong> pour savoir comment configurer le contrôle d'accès et les en-têtes HTTP transmis à l'application par <abbrtitle="LemonLDAP::NG">LL::NG</abbr>.
</p>
</div><!-- EDIT10 SECTION "Access rules and HTTP headers" [8247-8439] -->
Voir <strong><ahref="../../documentation/1.9/formreplay.html"class="wikilink1"title="documentation:1.9:formreplay">Rejeu des formulaires</a></strong> pour savoir comment configurer le rejeu des formulaires pour poster des données à une applications protégée.
Voir <strong><ahref="../../documentation/2.0/formreplay.html"class="wikilink1"title="documentation:2.0:formreplay">Rejeu des formulaires</a></strong> pour savoir comment configurer le rejeu des formulaires pour poster des données à une applications protégée.
Les fonctions personnalisées permettent d'étendre <abbrtitle="LemonLDAP::NG">LL::NG</abbr>, elles peuvent être utilisées dans les <ahref="../../documentation/1.9/writingrulesand_headers.html#rules"class="wikilink1"title="documentation:1.9:writingrulesand_headers">règles</a>, les <ahref="../../documentation/1.9/writingrulesand_headers.html#headers"class="wikilink1"title="documentation:1.9:writingrulesand_headers">en-têtes</a> et les <ahref="../../documentation/1.9/formreplay.html"class="wikilink1"title="documentation:1.9:formreplay">données à rejouer dans les formulaires</a>.
Les fonctions personnalisées permettent d'étendre <abbrtitle="LemonLDAP::NG">LL::NG</abbr>, elles peuvent être utilisées dans les <ahref="../../documentation/2.0/writingrulesand_headers.html#rules"class="wikilink1"title="documentation:2.0:writingrulesand_headers">règles</a>, les <ahref="../../documentation/2.0/writingrulesand_headers.html#headers"class="wikilink1"title="documentation:2.0:writingrulesand_headers">en-têtes</a> et les <ahref="../../documentation/2.0/formreplay.html"class="wikilink1"title="documentation:2.0:formreplay">données à rejouer dans les formulaires</a>.
Il faut indiquer au <ahref="../../documentation/1.9/fastcgiserver.html"class="wikilink1"title="documentation:1.9:fastcgiserver">serveur FastCGI de LLNG</a> le fichier à lire en utilisant l'option <code>-f</code> ou la variable d'environnement <code>CUSTOM_FUNCTIONS_FILE</code>. En utilisant les packages, il suffit de modifier le fichier <code>/etc/default/llng-fastcgi-server</code> (ou <code>/etc/default/lemonldap-ng-fastcgi-server</code>) :
Il faut indiquer au <ahref="../../documentation/2.0/fastcgiserver.html"class="wikilink1"title="documentation:2.0:fastcgiserver">serveur FastCGI de LLNG</a> le fichier à lire en utilisant l'option <code>-f</code> ou la variable d'environnement <code>CUSTOM_FUNCTIONS_FILE</code>. En utilisant les packages, il suffit de modifier le fichier <code>/etc/default/llng-fastcgi-server</code> (ou <code>/etc/default/lemonldap-ng-fastcgi-server</code>) :
</p>
<preclass="code file sh"># Nombre de processus (défaut : 7)
#NPROC = 7
...
...
@@ -123,7 +123,7 @@ Aller dans le manager, <code>Paramètres généraux</code> » <code>Paramètres
<preclass="code">SSOExtensions::function1</pre>
<p>
</p><p></p><divclass="noteimportant">Si la fonction n'est pas compatible avec la <ahref="../../documentation/1.9/safejail.html"class="wikilink1"title="documentation:1.9:safejail">cage saine</a>, il faut désactiver la mise en cage.
</p><p></p><divclass="noteimportant">Si la fonction n'est pas compatible avec la <ahref="../../documentation/2.0/safejail.html"class="wikilink1"title="documentation:2.0:safejail">cage saine</a>, il faut désactiver la mise en cage.
→ Lors d'une mise à jour d'une Debian Lenny avec un fichier index.pl personnalisé, il faut le mettre à jour. Voir la <ahref="../../documentation/1.9/upgrade.html#debian_lenny_upgrade"class="wikilink1"title="documentation:1.9:upgrade">mise à jour de Debian Lenny</a>.
→ Lors d'une mise à jour d'une Debian Lenny avec un fichier index.pl personnalisé, il faut le mettre à jour. Voir la <ahref="../../documentation/2.0/upgrade.html#debian_lenny_upgrade"class="wikilink1"title="documentation:2.0:upgrade">mise à jour de Debian Lenny</a>.
Les variables exportées sont des variables disponibles pour <ahref="../../documentation/1.9/writingrulesand_headers.html"class="wikilink1"title="documentation:1.9:writingrulesand_headers">écrire des règles d'accès et des en-têtes</a>. Elles sont extraites de la base de données des utilisateurs par le <ahref="../../documentation/1.9/start.html#authentication_users_and_password_databases"class="wikilink1"title="documentation:1.9:start">module utilisateurs</a>.
Les variables exportées sont des variables disponibles pour <ahref="../../documentation/2.0/writingrulesand_headers.html"class="wikilink1"title="documentation:2.0:writingrulesand_headers">écrire des règles d'accès et des en-têtes</a>. Elles sont extraites de la base de données des utilisateurs par le <ahref="../../documentation/2.0/start.html#authentication_users_and_password_databases"class="wikilink1"title="documentation:2.0:start">module utilisateurs</a>.
</p>
<p>
...
...
@@ -37,7 +37,7 @@ Pour créer une variable, il faut simplement associer des attributs utilisateurs
</p>
<p>
Exemples pour <ahref="../../documentation/1.9/authldap.html"class="wikilink1"title="documentation:1.9:authldap">LDAP</a> :
Exemples pour <ahref="../../documentation/2.0/authldap.html"class="wikilink1"title="documentation:2.0:authldap">LDAP</a> :
Les macros et les groupes sont calculées pendant le processus d'authentification par le portail :
</p>
<ul>
<liclass="level1"><divclass="li"> Les macros sont utilisées pour étendre (ou réécrire) les <spanclass="curid"><ahref="../../documentation/1.9/exportedvars.html"class="wikilink1"title="documentation:1.9:exportedvars">variables exportées</a></span>. Une macro est stockée comme un attribut : elle peut contenir le résultat d'un calcul booléen ou n'importe quelle chaîne de caractères</div>
<liclass="level1"><divclass="li"> Les macros sont utilisées pour étendre (ou réécrire) les <spanclass="curid"><ahref="../../documentation/2.0/exportedvars.html"class="wikilink1"title="documentation:2.0:exportedvars">variables exportées</a></span>. Une macro est stockée comme un attribut : elle peut contenir le résultat d'un calcul booléen ou n'importe quelle chaîne de caractères</div>
</li>
<liclass="level1"><divclass="li"> les groupes sont stockées en chaîne de caractères séparées par des espaces dans l'attribut spécial “groups” : il contient les noms des groupes dont la règle à retournée une valeur non nulle pour l'utilisateur courant</div>
</li>
...
...
@@ -121,14 +121,14 @@ Display<span class="sy0">-</span>Name <span class="sy0">-></span> <span class
</p><p></p><divclass="noteclassic">Noter que les groupes sont calculés après les macros, donc une règle de groupe peut utiliser une valeur issue d'une macro.
En <ahref="../../documentation/1.9/writingrulesand_headers.html"class="wikilink1"title="documentation:1.9:writingrulesand_headers">écrivant des règles et en-têtes</a>, on peut utiliser des expressions Perl qui seront évaluées dans une cage pour prévenir les codes malveillants.
En <ahref="../../documentation/2.0/writingrulesand_headers.html"class="wikilink1"title="documentation:2.0:writingrulesand_headers">écrivant des règles et en-têtes</a>, on peut utiliser des expressions Perl qui seront évaluées dans une cage pour prévenir les codes malveillants.
</p>
<p>
C'est disponible pour :
</p>
<ul>
<liclass="level1"><divclass="li"><ahref="../../documentation/1.9/portalmenu.html#menu_modules"class="wikilink1"title="documentation:1.9:portalmenu">les règles d'activation des modules du menu</a></div>
<liclass="level1"><divclass="li"><ahref="../../documentation/2.0/portalmenu.html#menu_modules"class="wikilink1"title="documentation:2.0:portalmenu">les règles d'activation des modules du menu</a></div>
</li>
<liclass="level1"><divclass="li"><ahref="../../documentation/1.9/formreplay.html"class="wikilink1"title="documentation:1.9:formreplay">les données à rejouer dans les formulaires</a></div>
<liclass="level1"><divclass="li"><ahref="../../documentation/2.0/formreplay.html"class="wikilink1"title="documentation:2.0:formreplay">les données à rejouer dans les formulaires</a></div>
</li>
<liclass="level1"><divclass="li"> Macros</div>
</li>
...
...
@@ -54,29 +54,29 @@ Dans cette cage, on peut accéder aux éléments suivants :
<ul>
<liclass="level1"><divclass="li"> Fonctions standards de Perl (split, pop, map, etc...)</div>
<liclass="level1"><divclass="li"> Fonction <ahref="http://perldoc.perl.org/MIME/Base64.html"class="urlextern"title="http://perldoc.perl.org/MIME/Base64.html"rel="nofollow">encode_base64</a></div>
</li>
<liclass="level1"><divclass="li"> Variables d'environnement, dans certains cas (via %ENV)</div>
</li>
<liclass="level1"><divclass="li"><ahref="#request_informations"title="documentation:1.9:extendedfunctions ↵"class="wikilink1">Informations sur la requête courante</a></div>
<liclass="level1"><divclass="li"><ahref="#request_informations"title="documentation:2.0:extendedfunctions ↵"class="wikilink1">Informations sur la requête courante</a></div>