--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_authnz_ldap - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_authnz_ldap</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification
+HTTP de base.</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authnz_ldap_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_ldap.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dosponible depuis les versions 2.1 et supérieures
+d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet aux frontaux d'authentification comme
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> d'authentifier les utilisateurs via
+ un annuaire ldap.</p>
+
+ <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> supporte les fonctionnalités
+ suivantes :</p>
+
+ <ul>
+ <li>Support vérifié du <a href="http://www.openldap.org/">SDK OpenLDAP</a> (versions 1.x et
+ 2.x), du <a href="http://developer.novell.com/ndk/cldap.htm">
+ SDK LDAP Novell</a> et du SDK <a href="http://www.iplanet.com/downloads/developer/">iPlanet
+ (Netscape)</a>.</li>
+
+ <li>Implémentation de politiques d'autorisation complexes en les
+ définissant via des filtres LDAP.</li>
+
+ <li>Mise en oeuvre élaborée d'une mise en cache des opérations LDAP
+ via <a href="mod_ldap.html">mod_ldap</a>.</li>
+
+ <li>Support de LDAP via SSL (nécessite le SDK Netscape) ou TLS
+ (nécessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).</li>
+ </ul>
+
+ <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, ce module est
+ invoqué en affectant la valeur <code>ldap</code> à la directive
+ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbinddn">AuthLDAPBindDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindpassword">AuthLDAPBindPassword</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPUrl</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#contents">Sommaire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#operation">Mode opératoire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives requises</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usingtls">Utilisation de TLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usingssl">Utilisation de SSL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de
+connexion</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#frontpage">Utilisation de Microsoft
+ FrontPage avec mod_authnz_ldap</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></li>
+<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
+<li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
+<li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="contents" id="contents">Sommaire</a></h2>
+
+ <ul>
+ <li>
+ <a href="#operation">Mode opératoire</a>
+
+ <ul>
+ <li><a href="#authenphase">La phase
+ d'authentification</a></li>
+
+ <li><a href="#authorphase">La phase d'autorisation</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#requiredirectives">Les directives requises</a>
+
+ <ul>
+ <li><a href="#requser">Require ldap-user</a></li>
+ <li><a href="#reqgroup">Require ldap-group</a></li>
+ <li><a href="#reqdn">Require ldap-dn</a></li>
+ <li><a href="#reqattribute">Require ldap-attribute</a></li>
+ <li><a href="#reqfilter">Require ldap-filter</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#examples">Exemples</a></li>
+ <li><a href="#usingtls">Utilisation de TLS</a></li>
+ <li><a href="#usingssl">Utilisation de SSL</a></li>
+ <li><a href="#exposed">Mise à disposition des informations de
+ connexion</a></li>
+ <li>
+ <a href="#frontpage">Utilisation de Microsoft FrontPage avec
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></a>
+
+ <ul>
+ <li><a href="#howitworks">Comment ça marche</a></li>
+ <li><a href="#fpcaveats">Mises en garde</a></li>
+ </ul>
+ </li>
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="operation" id="operation">Mode opératoire</a></h2>
+
+ <p>L'utilisateur se voit accorder l'accès selon un processus en deux
+ phases. La première phase est l'authentification, au cours de
+ laquelle le fournisseur d'authentification
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> vérifie que les informations de
+ connexion de l'utilisateur sont valides. Elle est aussi connue sous
+ le nom de phase de <em>recherche/connexion</em>. La deuxième
+ phase est l'autorisation, au cours de laquelle
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> détermine si l'utilisateur
+ authentifié a la permission d'accéder à la ressource considérée.
+ Elle est aussi connue sous le nom de phase de
+ <em>comparaison</em>.</p>
+
+ <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> comporte un fournisseur
+ d'authentification authn_ldap et un gestionnaire d'autorisation
+ authz_ldap. Le fournisseur d'authentification authn_ldap peut être
+ invoqué en affectant la valeur <code>ldap</code> à la directive
+ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Le
+ gestionnaire d'autorisation authz_ldap enrichit la liste des types
+ d'autorisations de la directive <code class="directive"><a href="../mod/core.html#require">Require</a></code> en y ajoutant les
+ valeurs <code>ldap-user</code>, <code>ldap-dn</code> et
+ <code>ldap-group</code>.</p>
+
+<h3><a name="authenphase" id="authenphase">La phase d'authentification</a></h3>
+
+ <p>Au cours de la phase d'authentification,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> recherche une entrée de l'annuaire
+ LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
+ Si une correspondance unique est trouvée,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de se connecter au serveur
+ hébergeant l'annuaire LDAP en utilisant le DN de l'entrée et le mot
+ de passe fourni par le client HTTP. Comme ce processus effectue tout
+ d'abord une recherche, puis une connexion, il est aussi connu sous
+ le nom de phase de recherche/connexion. Voici le détail des étapes
+ constituant la phase de recherche/connexion :</p>
+
+ <ol>
+ <li>Construction d'un filtre de recherche en combinant les attribut
+ et filtre définis par la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> avec le nom d'utilisateur et le mot de
+ passe fournis par le client HTTP.</li>
+
+ <li>Recherche dans l'annuaire LDAP en utilisant le filtre
+ construit précédemment. Si le résultat de la recherche est
+ négatif ou comporte plusieurs entrées, refus ou restriction de
+ l'accès.</li>
+
+ <li>Extraction du DN (distinguished name) de l'entrée issue du
+ résultat de la recherche, et tentative de connexion au serveur
+ LDAP en utilisant ce DN et le mot de passe fournis par le client
+ HTTP. Si la connexion échoue, refus ou restriction de
+ l'accès.</li>
+ </ol>
+
+ <p>Les directives utilisées durant la phase de recherche/connexion
+ sont les suivantes :</p>
+
+ <table>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code></td>
+
+ <td>Spécifie le serveur LDAP, le DN de base, l'attribut à
+ utiliser pour la recherche, ainsi que les filtres de recherche
+ supplémentaires.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></td>
+
+ <td>Un DN optionnel pour se connecter durant la phase de
+ recherche.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code></td>
+
+ <td>Un mot de passe optionnel pour se connecter durant la phase
+ de recherche.</td>
+ </tr>
+ </table>
+
+
+<h3><a name="authorphase" id="authorphase">La phase d'autorisation</a></h3>
+
+ <p>Au cours de la phase d'autorisation,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de déterminer si
+ l'utilisateur est autorisé à accéder à la ressource considérée. Une
+ grande partie de cette vérification consiste pour
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> en des opérations de comparaison au
+ niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue
+ sous le nom de phase de comparaison.
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> accepte les directives <code class="directive"><a href="../mod/core.html#require">Require</a></code> suivantes pour
+ déterminer si les informations de connexion permettent d'accorder
+ l'accès à l'utilisateur :</p>
+
+ <ul>
+ <li>Avec la directive <a href="#reqgroup"><code>Require ldap-user</code></a>,
+ l'autorisation d'accès est accordée si le nom d'utilisateur
+ spécifié par la directive correspond au nom d'utilisateur fourni
+ par le client.</li>
+
+ <li>Avec la directive <a href="#reqdn"><code>Require
+ ldap-dn</code></a>, l'autorisation d'accès est accordée si le DN
+ spécifié par la directive correspond au DN extrait du résultat de
+ la recherche dans l'annuaire LDAP.</li>
+
+ <li>Avec la directive <a href="#reqgroup"><code>Require ldap-group</code></a>,
+ l'autorisation d'accès est accordée si le DN extrait du résultat de
+ la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni
+ par le client) appartient au groupe LDAP spécifié par la
+ directive.</li>
+
+ <li>Avec la directive <a href="#reqattribute">
+ <code>Require ldap-attribute</code></a>, l'autorisation d'accès
+ est accordée si la valeur de l'attribut extraite de la recherche
+ dans l'annuaire LDAP correspond à la valeur spécifiée par la
+ directive.</li>
+
+ <li>Avec la directive <a href="#reqfilter">
+ <code>Require ldap-filter</code></a>, l'autorisation d'accès
+ est accordée si le filtre de recherche renvoie un objet
+ utilisateur unique qui corresponde au DN de l'utilisateur
+ authentifié.</li>
+
+ <li>dans tous les autres cas, refus ou restriction de
+ l'accès.</li>
+ </ul>
+
+ <p>Sous réserve du chargement de modules d'autorisation
+ supplémentaires, d'autres valeurs de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> peuvent être
+ spécifiées. Notez que si vous utilisez une valeur <code class="directive"><a href="../mod/core.html#require">Require</a></code> fournie par un autre module
+ d'autorisation, vous devrez vous assurer que la directive <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> est
+ définie à <code>off</code>, afin de pouvoir confier la phase
+ d'autorisation au module qui a fourni l'autre valeur <code class="directive"><a href="../mod/core.html#require">Require</a></code>. Lorsqu'aucune directive LDAP
+ <code class="directive"><a href="../mod/core.html#require">Require</a></code> spécifique n'est
+ fournie, la phase d'autorisation peut être confiée à d'autres
+ modules, comme si <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> était
+ définie à <code>off</code>.
+ </p>
+
+ <ul>
+ <li>L'accès est autorisé à tous les utilisateurs authentifiés si
+ une directive <a href="#requser"><code>Require
+ valid-user</code></a> est présente (nécessite le module
+ <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>).</li>
+
+ <li>Avec la directive <a href="#reqgroup"><code>Require group</code></a>, l'autorisation
+ d'accès est accordée si le module
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> a été chargé et si la
+ directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> a été
+ définie.</li>
+
+ <li>etc...</li>
+ </ul>
+
+
+ <p>Durant la phase de comparaison, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
+ utilise les directives suivantes :</p>
+
+ <table>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>
+ </td>
+
+ <td>On utilise l'attribut spécifié dans l'URL pour les
+ opérations de comparaison initiées par la directive
+ <code>Require ldap-user</code>.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code></td>
+
+ <td>Détermine le comportement de la directive <code>Require
+ ldap-dn</code>.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code></td>
+
+ <td>Détermine l'attribut utilisé pour les opérations de
+ comparaison initiées par la directive <code>Require
+ ldap-group</code>.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code></td>
+
+ <td>Spécifie si l'on doit utiliser le DN ou le nom de
+ l'utilisateur lors des opérations de comparaison initiées par la
+ directive <code>Require ldap-group</code>.</td>
+ </tr>
+ </table>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="requiredirectives" id="requiredirectives">Les directives requises</a></h2>
+
+ <p>Les directives <code class="directive"><a href="../mod/core.html#require">Require</a></code> d'Apache sont utilisées
+ au cours de la phase d'autorisation afin de s'assurer que
+ l'utilisateur est autorisé à accéder à une ressource.
+ mod_authnz_ldap enrichit la liste des types d'autorisations avec les
+ valeurs <code>ldap-user</code>, <code>ldap-dn</code>,
+ <code>ldap-group</code>, <code>ldap-attribute</code> et
+ <code>ldap-filter</code>. D'autres types d'autorisations sont
+ disponibles, sous réserve du chargement de modules d'autorisation
+ supplémentaires.</p>
+
+<h3><a name="requser" id="requser">Require ldap-user</a></h3>
+
+ <p>La directive <code>Require ldap-user</code> permet de spécifier
+ les noms des utilisateurs autorisés à accéder à la ressource.
+ Lorsque <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a extrait un DN unique de
+ l'annuaire LDAP, il effectue une opération de comparaison LDAP en
+ utilisant le nom d'utilisateur spécifié par la directive
+ <code>Require ldap-user</code>, pour vérifier si ce nom
+ d'utilisateur correspond à l'entrée LDAP extraite. On peut accorder
+ l'accès à plusieurs utilisateurs en plaçant plusieurs nom
+ d'utilisateurs sur la même ligne séparés par des espaces. Si un nom
+ d'utilisateur contient des espaces, il doit être entouré de
+ guillemets. On peut aussi accorder l'accès à plusieurs utilisateurs
+ en utilisant une directive <code>Require ldap-user</code> par
+ utilisateur. Par exemple, avec la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> définie à
+ <code>ldap://ldap/o=Airius?cn</code> (spécifiant donc que l'attribut
+ <code>cn</code> sera utilisé pour les recherches), on pourra
+ utiliser les directives Require suivantes pour restreindre l'accès
+ :</p>
+<div class="example"><p><code>
+Require ldap-user "Barbara Jenson"<br />
+Require ldap-user "Fred User"<br />
+Require ldap-user "Joe Manager"<br />
+</code></p></div>
+
+ <p>De par la manière dont <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> traite
+ cette directive, Barbara Jenson peut s'authentifier comme
+ <em>Barbara Jenson</em>, <em>Babs Jenson</em> ou tout autre
+ <code>cn</code> sous lequel elle est enregistrée dans l'annuaire
+ LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour
+ toutes les valeurs de l'attribut dans l'entrée LDAP de
+ l'utilisateur.</p>
+
+ <p>Si l'attribut <code>uid</code> avait été spécifié à la place de
+ l'attribut <code>cn</code> dans l'URL précédente, les trois lignes
+ ci-dessus auraient pû être condensées en une seule ligne :</p>
+<div class="example"><p><code>Require ldap-user bjenson fuser jmanager</code></p></div>
+
+
+<h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3>
+
+ <p>Cette directive permet de spécifier un groupe LDAP dont les
+ membres auront l'autorisation d'accès. Elle prend comme argument le
+ DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des
+ guillemets. Par exemple, supposons que l'entrée suivante existe dans
+ l'annuaire LDAP :</p>
+<div class="example"><p><code>
+dn: cn=Administrators, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Barbara Jenson, o=Airius<br />
+uniqueMember: cn=Fred User, o=Airius<br />
+</code></p></div>
+
+ <p>La directive suivante autoriserait alors l'accès à Fred et
+ Barbara :</p>
+<div class="example"><p><code>Require ldap-group cn=Administrators, o=Airius</code></p></div>
+
+
+
+ <p>Le comportement de cette directive est modifié par les directives
+ <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code> et
+ <code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code>.</p>
+
+
+<h3><a name="reqdn" id="reqdn">Require ldap-dn</a></h3>
+
+ <p>La directive <code>Require ldap-dn</code> permet à
+ l'administrateur d'accorder l'utorisation d'accès en fonction du DN.
+ Elle permet de spécifier un DN pour lequel l'accès est autorisé. Si
+ le DN extrait de
+ l'annuaire correspond au DN spécifié par la directive <code>Require
+ ldap-dn</code>, l'autorisation d'accès est accordée. Note :
+ n'entourez pas Le DN de guillemets.</p>
+
+ <p>La directive suivante accorderait l'accès à un DN spécifique
+ :</p>
+<div class="example"><p><code>Require ldap-dn cn=Barbara Jenson, o=Airius</code></p></div>
+
+ <p>Le comportement ce cette directive est modifié par la directive
+ <code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code>.</p>
+
+
+<h3><a name="reqattribute" id="reqattribute">Require ldap-attribute</a></h3>
+
+ <p>La directive <code>Require ldap-attribute</code> permet à
+ l'administrateur d'accorder l'autorisation d'accès en fonction des
+ attributs de l'utilisateur authentifié dans l'annuaire LDAP. Si la
+ valeur de l'attribut dans l'annuaire correspond à la valeur
+ spécifiée par la directive, l'autorisation d'accès est accordée.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
+
+ <div class="example"><p><code>Require ldap-attribute employeeType=actif</code></p></div>
+
+ <p>Plusieurs paires attribut/valeur peuvent être spécifiées par une
+ même directive en les séparant par des espaces, ou en définissant
+ plusieurs directives <code>Require ldap-attribute</code>. La logique
+ sous-jacente à une liste de paires attribut/valeur est une opération
+ OU. L'autorisation d'accès sera accordée si au moins une paire
+ attribut/valeur de la liste spécifiée correspond à la paire
+ attribut/valeur de l'utilisateur authentifié. Si elle contient des
+ espaces, la valeur, et seulement la valeur, doit être entourée de
+ guillemets.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
+ donc l'attribut status aurait pour valeur "actif" :</p>
+
+ <div class="example"><p><code>Require ldap-attribute city="San Jose" status=actif</code></p></div>
+
+
+
+<h3><a name="reqfilter" id="reqfilter">Require ldap-filter</a></h3>
+
+ <p>La directive <code>Require ldap-filter</code> permet à
+ l'administrateur d'accorder l'autorisation d'accès en fonction d'un
+ filtre de recherche LDAP complexe. L'autorisation d'accès est
+ accordée si le DN renvoyé par le filtre de recherche correspond au
+ DN de l'utilisateur authentifié.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur possédant un téléphone cellulaire et faisant partie du
+ département "marketing" :</p>
+
+ <div class="example"><p><code>Require ldap-filter &(cell=*)(department=marketing)</code></p></div>
+
+ <p>Alors que la directive <code>Require ldap-attribute</code> se
+ contente d'une simple comparaison d'attributs, la directive
+ <code>Require ldap-filter</code> effectue une opération de recherche
+ dans l'annuaire LDAP en utilisant le filtre de recherche spécifié.
+ Si une simple comparaison d'attributs suffit, l'opération de
+ comparaison effectuée par <code>ldap-attribute</code> sera plus
+ rapide que l'opération de recherche effectuée par
+ <code>ldap-filter</code>, en particulier dans le cas d'un annuaire
+ LDAP de grande taille.</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Exemples</a></h2>
+
+ <ul>
+ <li>
+ Accorde l'autorisation d'accès à tout utilisateur présent dans
+ l'annuaire LDAP, en utilisant son UID pour effectuer la
+ recherche :
+<div class="example"><p><code>
+AuthLDAPURL "ldap://ldap1.airius.com:389/ou=People, o=Airius?uid?sub?(objectClass=*)"<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ L'exemple suivant est similaire au précédent, mais les champs
+ dont les valeurs par défaut conviennent sont omis. Notez aussi
+ la présence d'un annuaire LDAP redondant :
+<div class="example"><p><code>AuthLDAPURL "ldap://ldap1.airius.com ldap2.airius.com/ou=People, o=Airius"<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ Encore un exemple similaire aux précédents, mais cette fois,
+ c'est l'attribut cn qui est utilisé pour la recherche à la place
+ de l'UID. Notez que ceci peut poser problème si plusieurs
+ utilisateurs de l'annuaire partagent le même <code>cn</code>,
+ car une recherche sur le <code>cn</code> <strong>doit</strong>
+ retourner une entrée et une seule. C'est pourquoi cette
+ approche n'est pas recommandée : il est préférable de choisir un
+ attribut de votre annuaire dont l'unicité soit garantie, comme
+ <code>uid</code>.
+<div class="example"><p><code>
+AuthLDAPURL "ldap://ldap.airius.com/ou=People, o=Airius?cn"<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ Accorde l'autorisation d'accès à tout utilisateur appartenant au
+ groupe Administrateurs. Les utilisateurs doivent s'authentifier
+ en utilisant leur UID :
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid<br />
+Require ldap-group cn=Administrators, o=Airius
+</code></p></div>
+ </li>
+
+ <li>
+ Pour l'exemple suivant, on suppose que tout utilisateur de chez
+ Airius qui dispose d'un bippeur alphanumérique possèdera un
+ attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
+ (authentifiés via leur UID) se verront accorder l'autorisation
+ d'accès :
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(qpagePagerID=*)<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ <p>L'exemple suivant illustre la puissance des filtres pour
+ effectuer des requêtes complexes. Sans les filtres, il aurait
+ été nécessaire de créer un nouveau groupe LDAP et de s'assurer
+ de la synchronisation des membres du groupe avec les
+ utilisateurs possédant un bippeur. Tout devient limpide avec les
+ filtres. Nous avons pour but d'accorder l'autorisation d'accès à
+ tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager
+ qui ne possède pas de bippeur, mais doit tout de même pouvoir
+ accéder à la ressource :</p>
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(|(qpagePagerID=*)(uid=jmanager))<br />
+Require valid-user
+</code></p></div>
+
+ <p>Ce dernier exemple peut sembler confus au premier abord ; en
+ fait, il permet de mieux comprendre à quoi doit ressembler le
+ filtre en fonction de l'utilisateur qui se connecte. Si Fred
+ User se connecte en tant que <code>fuser</code>, le filtre devra
+ ressembler à :</p>
+
+ <div class="example"><p><code>(&(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</code></p></div>
+
+ <p>Un recherche avec le filtre ci-dessus ne retournera un
+ résultat positif que si <em>fuser</em> dispose d'un bippeur. Si
+ Joe Manager se connecte en tant que <em>jmanager</em>, le filtre
+ devra ressembler à :</p>
+
+ <div class="example"><p><code>(&(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</code></p></div>
+
+ <p>Un recherche avec le filtre ci-dessus retournera un
+ résultat positif que <em>jmanager</em> dispose d'un
+ bippeur ou non</p>
+ </li>
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="usingtls" id="usingtls">Utilisation de TLS</a></h2>
+
+ <p>Pour l'utilisation de TLS, voir les directives du module
+ <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p>
+
+ <p>Un second paramètre optionnel peut être ajouté à la directive
+ <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> pour
+ remplacer le type de connexion par défaut défini par la directive
+ <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>. Ceci
+ permettra de promouvoir la connexion établie via une URL du type
+ <em>ldap://</em> au statut de connection sécurisée sur le même
+ port.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="usingssl" id="usingssl">Utilisation de SSL</a></h2>
+
+ <p>Pour l'utilisation de SSL, voir les directives du module
+ <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p>
+
+ <p>Pour spécifier un serveur LDAP sécurisé, utilisez
+ <em>ldaps://</em> au lieu de
+ <em>ldap://</em> dans la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="exposed" id="exposed">Mise à disposition des informations de
+connexion</a></h2>
+
+ <p>Au cours du processus d'authentification, les attributs LDAP
+ spécifiés par la directive <code class="directive"><a href="#authldapurl">AuthLDAPUrl</a></code> sont enregistrés
+ dans des variables d'environnement préfixées par la chaîne
+ "AUTHENTICATE_".</p>
+
+ <p>Si les champs attribut contiennent le nom, le CN et le numéro de
+ téléphone d'un utilisateur, un programme CGI pourra accéder à ces
+ informations sans devoir effectuer une autre requête LDAP pour
+ les extraire de l'annuaire.</p>
+
+ <p>Ceci a pour effet de simplifier considérablement le code et la
+ configuration nécessaire de certaines applications web.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="frontpage" id="frontpage">Utilisation de Microsoft
+ FrontPage avec mod_authnz_ldap</a></h2>
+
+ <p>Normalement, FrontPage utilise des fichiers utilisateur/groupe
+ spécifiques à FrontPage-web (c'est à dire les modules
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>) pour effectuer toute
+ l'authentification. Malheureusement, il ne suffit pas de modifier
+ l'authentification LDAP en ajoutant les directives appropriées, car
+ ceci corromprait les formulaires de <em>Permissions</em> dans le
+ client FrontPage, qui sont censés modifier les fichiers
+ d'autorisation standards au format texte.</p>
+
+ <p>Lorsqu'un site web FrontPage a été créé, lui adjoindre
+ l'authentification LDAP consiste à ajouter les directives suivantes
+ à <em>chaque</em> fichier <code>.htaccess</code> qui sera créé dans
+ le site web :</p>
+<div class="example"><pre>
+AuthLDAPURL "l'url"
+AuthGroupFile <em>mon-fichier-de-groupes</em>
+Require group <em>mon-fichier-de-groupes</em>
+</pre></div>
+
+<h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3>
+
+ <p>FrontPage restreint l'accès à un site web en ajoutant la
+ directive <code>Require valid-user</code> aux fichiers
+ <code>.htaccess</code>. La directive <code>Require valid-user</code>
+ permettra l'accès à tout utilisateur valide <em>du point de vue
+ LDAP</em>. Cela signifie que tout utilisateur possédant une entrée
+ dans l'annuaire LDAP sera considéré comme valide, alors que
+ FrontPage ne considère comme valides que les utilisateurs
+ enregistrés dans le fichier des utilisateurs local. En remplaçant
+ l'autorisation par groupe LDAP par une autorisation par fichier de
+ groupe, Apache sera en mesure de consulter le fichier des
+ utilisateurs local (géré par FrontPage) - au lieu de l'annuaire LDAP
+ - lors du processus d'autorisation des utilisateurs.</p>
+
+ <p>Une fois les directives ajoutées selon ce qui précède, les
+ utilisateurs FrontPage pourront effectuer toutes les opérations de
+ gestion à partir du client FrontPage.</p>
+
+
+<h3><a name="fpcaveats" id="fpcaveats">Avertissements</a></h3>
+
+ <ul>
+ <li>Lors du choix de l'URL LDAP, l'attribut à utiliser pour
+ l'authentification doit aussi être valide pour le fichier des
+ utilisateurs de <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. A cette fin,
+ l'UID est idéal.</li>
+
+ <li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les
+ administrateurs de FrontPage doivent choisir des noms
+ d'utilisateurs qui existent déjà dans l'annuaire LDAP (pour des
+ raisons évidentes). De même, le mot de passe que l'administrateur
+ entre dans le formulaire est ignoré, car pour l'authentification,
+ Apache utilise le mot de passe de l'annuaire LDAP, et non le mot
+ de passe enregistré dans le fichier des utilisateurs, ce qui peut
+ semer la confusion parmi les administrateurs web.</li>
+
+
+ <li>Pour supporter FrontPage, Apache doit être compilé avec
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>
+ et <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>. Ceci est dû au fait
+ qu'Apache doit utiliser le fichier de groupes de
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> pour déterminer le niveau
+ d'accès d'un utilisateur au site web FrontPage.</li>
+
+ <li>Les directives doivent être placées dans les fichiers
+ <code>.htaccess</code>. Elles ne fonctionneront pas si vous les
+ placez dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>. Ceci est dû au fait que pour savoir
+ où se trouve la liste des utilisateurs valides,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> doit être en mesure d'atteindre
+ la directive <code class="directive"><a href="../mod/mod_authn_file.html#authgroupfile">AuthGroupFile</a></code> qui se trouve
+ dans les fichiers <code>.htaccess</code> de FrontPage. Si les directives
+ de <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sont pas situées dans le
+ même fichier <code>.htaccess</code> que les directives FrontPage,
+ la configuration ne fonctionnera pas, car
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sera jamais en mesure de
+ traiter le fichier <code>.htaccess</code>, et par conséquent ne
+ pourra jamais trouver le fichier des utilisateurs géré par
+ FrontPage.</li>
+ </ul>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindAuthoritative" id="AuthLDAPBindAuthoritative">AuthLDAPBindAuthoritative</a> <a name="authldapbindauthoritative" id="authldapbindauthoritative">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si d'autres fournisseurs d'authentification
+doivent être utilisés lorsqu'un utilisateur correspond à un DN, alors
+que le serveur ne parvient pas à se connecter avec les données
+d'authentification.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindAuthoritative<em>off|on</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPBindAuhtoritative on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions supérieures à 2.2.14</td></tr>
+</table>
+ <p>Par défaut, d'autres fournisseurs d'authentification ne sont
+ sollicités que si l'utilisateur ne correspond à aucun DN, mais pas
+ lorsque celui-ci correspond à un DN alors que le serveur ne parvient
+ pas à se connecter avec les données d'authentification. Si la
+ directive <code class="directive"><a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></code> est
+ définie à <em>off</em>, d'autres modules d'authentification seront
+ en mesure de valider l'utilisateur si l'identification LDAP (avec
+ les données d'authentification courantes) échoue pour une raison
+ quelconque.</p>
+ <p>Ceci permet à un utilisateur présent à la fois dans LDAP et dans
+ <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> de
+ s'authentifier lorsque le serveur LDAP est disponible alors que son
+ compte est bloqué ou que son mot de passe est inutilisable.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li>
+<li><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</a> <a name="authldapbinddn" id="authldapbinddn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Un DN optionnel pour se connecter au serveur
+LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindDN <em>dn</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de définir un DN optionnel pour se
+ connecter au serveur afin d'y rechercher des entrées. Si aucun DN
+ n'est spécifié, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera une
+ connexion anonyme.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a> <a name="authldapbindpassword" id="authldapbindpassword">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mot de passe à utiliser en conjonction avec le DN de
+connexion</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindPassword <em>mot-de-passe</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de spécifier un mot de passe à utiliser en
+ conjonction avec le DN de connexion. Notez que ce mot de passe
+ constitue en général une donnée sensible, et doit donc être protégé
+ de manière appropriée. Vous ne devez utiliser les directives
+ <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code> et <code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code> que si
+ vous en avez vraiment besoin pour effectuer une recherche dans
+ l'annuaire.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</a> <a name="authldapcharsetconfig" id="authldapcharsetconfig">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de configuration de la correspondance
+langage/jeu de caractères</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCharsetConfig <em>chemin-fichier</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthLDAPCharsetConfig</code> permet
+ de définir le chemin du fichier de configuration de la
+ correspondance langage/jeu de caractères. <var>chemin-fichier</var>
+ est un chemin relatif au répertoire défini par la directive
+ <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Ce fichier contient une liste
+ de correspondances extension de langage/jeu de caractères. La
+ plupart des administrateurs utilisent le fichier
+ <code>charset.conv</code> fourni qui associe les extensions de
+ langage courantes à leurs jeux de caractères.</p>
+
+ <p>Le fichier contient des lignes au format suivant :</p>
+
+ <div class="example"><p><code>
+ <var>extension de langage</var> <var>jeu de caractères</var>
+ [<var>Nom du langage</var>] ...
+ </code></p></div>
+
+ <p>L'extension est insensible à la casse. Les lignes vides et les
+ lignes commençant par un dièse (<code>#</code>) sont ignorées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</a> <a name="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le serveur LDAP pour comparer les DNs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareDNOnServer on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareDNOnServer on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsque cette directive est définie à on,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise le serveur LDAP pour
+ comparer les DNs. Il s'agit de la seule méthode infaillible pour
+ comparer les DNs. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va rechercher
+ dans l'annuaire le DN spécifié par la directive <a href="#reqdn"><code>Require dn</code></a>, puis extraire ce DN et le
+ comparer avec le DN extrait de l'entrée de l'utilisateur. Si cette
+ directive est à off, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> effectue une
+ simple comparaison de chaînes. Cette dernière approche peut produire
+ de faux négatifs, mais elle est beaucoup plus rapide. Notez
+ cependant que le cache de <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> peut accélérer
+ la comparaison de DNs dans la plupart des situations.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a> <a name="authldapdereferencealiases" id="authldapdereferencealiases">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>A quel moment le module va déréférencer les
+alias</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPDereferenceAliases never|searching|finding|always</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPDereferenceAliases Always</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de spécifier à quel moment
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va déréférencer les alias au cours
+ des opérations liées à LDAP. La valeur par défaut est
+ <code>always</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a> <a name="authldapgroupattribute" id="authldapgroupattribute">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'attribut LDAP utilisé pour vérifier l'appartenance d'un
+utilisateur à un groupe.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttribute <em>attribut</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttribute member uniquemember</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de spécifier quel attribut LDAP est
+ utilisé pour vérifier l'appartenance d'un utilisateur à un
+ groupe. On peut spécifier plusieurs attributs en répétant cette
+ directive plusieurs fois. Si la directive n'est pas définie,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
+ <code>member</code> et <code>uniquemember</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</a> <a name="authldapgroupattributeisdn" id="authldapgroupattributeisdn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour vérifier son
+appartenance à un groupe</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttributeIsDN on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttributeIsDN on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsqu'elle est définie à <code>on</code>, cette directive
+ indique que c'est le DN de l'utilisateur qui doit être utilisé pour
+ vérifier son appartenance à un groupe. Dans le cas contraire, c'est
+ le nom de l'utilisateur qui sera utilisé. Par exemple, supposons que
+ le client envoie le nom d'utilisateur <code>bjenson</code>, qui
+ correspond au DN LDAP <code>cn=Babs Jenson,o=Airius</code>. Si la
+ directive est à <code>on</code>, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va
+ vérifier si <code>cn=Babs Jenson, o=Airius</code> est un membre du
+ groupe. Dans le cas contraire, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
+ vérifiera si <code>bjenson</code> est un membre du groupe.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a> <a name="authldapremoteuserattribute" id="authldapremoteuserattribute">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'attribut dont la valeur renvoyée au cours de la
+requête de l'utilisateur sera utilisée pour définir la variable
+d'environnement REMOTE_USER</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserAttribute uid</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsque cette directive est définie, la variable d'environnement
+ <code>REMOTE_USER</code> sera définie à la valeur de l'attribut
+ spécifié. Assurez-vous que cet attribut soit bien inclus dans la
+ liste d'attributs spécifiés dans la définition de AuthLDAPUrl ; dans
+ le cas contraire, cette directive n'aurait aucun effet. Si elle est
+ présente, cette directive l'emporte sur AuthLDAPRemoteUserIsDN. Elle
+ peut s'avérer utile par exemple, si vous souhaitez que les
+ utilisateurs se connectent à un site web en utilisant leur adresse
+ email, alors qu'une application sous-jacente nécessite un nom
+ d'utilisateur comme identifiant.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</a> <a name="authldapremoteuserisdn" id="authldapremoteuserisdn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour définir la variable
+d'environnement REMOTE_USER</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserIsDN on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPRemoteUserIsDN off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsque cette directive est à on, la variable d'environnement
+ <code>REMOTE_USER</code> sera définie avec la valeur du DN complet
+ de l'utilisateur authentifié, et non plus avec simplement le nom
+ d'utilisateur fourni par le client. Elle est définie à off par
+ défaut.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPUrl" id="AuthLDAPUrl">AuthLDAPUrl</a> <a name="authldapurl" id="authldapurl">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL permettant de spécifier les paramètres de la
+recherche LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Une URL conforme à la RFC 2255 qui permet de spécifier les
+ paramètres à utiliser pour la recherche dans l'annuaire LDAP. La
+ syntaxe de l'URL est :</p>
+<div class="example"><p><code>ldap://hôte:port/DN-de-base?attribut?portée?filtre</code></p></div>
+ <p>Si vous souhaitez mettre à la disposition d'Apache plusieurs URLs
+ LDAP, la syntaxe sera :</p>
+<div class="example"><p><code>AuthLDAPUrl "ldap://ldap1.example.com
+ldap2.example.com/dc=..."</code></p></div>
+
+<dl>
+<dt>ldap</dt>
+
+ <dd>Pour ldap non sécurisé, utilisez la chaîne
+ <code>ldap</code>. Pour ldap sécurisé, utilisez à la place la
+ chaîne <code>ldaps</code>. LDAP sécurisé n'est disponible que si
+ Apache a été lié avec une bibliothèque LDAP supportant SSL.</dd>
+
+<dt>hôte:port</dt>
+
+ <dd>
+ <p>Il s'agit du nom/port du serveur ldap
+ (dont la valeur par défaut est
+ <code>localhost:389</code> pour <code>ldap</code>, et
+ <code>localhost:636</code> pour <code>ldaps</code>). Pour
+ spécifier plusieurs serveurs LDAP redondants, indiquez
+ simplement leur liste en les séparant par des espaces.
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera alors de se connecter
+ à chacun des serveurs jusqu'à ce qu'il parvienne à se
+ connecter avec succès.</p>
+
+ <p>lorsqu'une connection a été établie avec un serveur, elle
+ reste active pendant toute la durée de vie du processus
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>, ou jusqu'à ce que le serveur LDAP
+ cesse de fonctionner.</p>
+
+ <p>Si le serveur LDAP cesse de fonctionner, et ainsi
+ interrompt une
+ connexion existante, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera
+ de se reconnecter en commençant par le premier serveur de la
+ liste, et ainsi de suite avec les serveurs redondants
+ suivants. Notez que ce processus n'a rien à voir avec une
+ véritable recherche de type round-robin.</p>
+ </dd>
+
+<dt>DN-de-</dt>
+base
+ <dd>Le DN de la branche de l'annuaire à partir de laquelle
+ toutes les recherches seront lancées. Il doit au moins
+ correspondre à la racine de votre annuaire, mais vous pouvez
+ aussi indiquer une branche plus spécifique.</dd>
+
+<dt>attribut</dt>
+
+ <dd>Il s'agit de l'attribut à utiliser pour la recherche.
+ Bien que la RFC
+ 2255 autorise une liste d'attributs séparés par des virgules,
+ seul le premier sera retenu, sans tenir compte des autres
+ attributs fournis. Si aucun attribut n'est fourni, l'attribut
+ par défaut est <code>uid</code>. Il est judicieux de choisir un
+ attribut dont la valeur sera unique parmi toutes les entrées de
+ la branche de l'annuaire que vous aurez définie.</dd>
+
+<dt>portée</dt>
+
+ <dd>Il s'agit de la portée (scope) de la recherche. Elle peut prendre
+ les valeurs <code>one</code> ou <code>sub</code>. Notez que la
+ RFC 2255 supporte aussi une portée de valeur <code>base</code>,
+ mais cette dernière n'est pas supportée par le module. Si la
+ portée n'est pas définie, ou si elle est définie à
+ <code>base</code>, c'est la valeur de portée par défaut
+ <code>sub</code> qui sera utilisée.</dd>
+
+<dt>filtre</dt>
+
+ <dd>Il s'agit d'un filtre de recherche LDAP valide. Si aucun
+ filtre n'est spécifié, le filtre par défaut
+ <code>(objectClass=*)</code> sera utilisé, ce qui corrspond à
+ une recherche de tous les types d'objets de l'arborescence. La
+ taille des filtres est limitée à environ 8000 caractères (valeur
+ de la macro <code>MAX_STRING_LEN</code> dans le code source
+ d'Apache), ce qui s'avère plus que suffisant pour la plupart des
+ applications.</dd>
+</dl>
+
+ <p>Pour une recherche, les attribut, filtre et nom d'utilisateur
+ fournis par le client HTTP sont combinés pour créer un filtre de
+ recherche du style :
+ <code>(&(<em>filtre</em>)(<em>attribut</em>
+ =<em>nom-utilisateur</em>))</code>.</p>
+
+ <p>Par exemple, considérons l'URL
+ <code>ldap://ldap.airius.com/o=Airius?cn?sub?(posixid=*)</code>.
+ Lorsqu'un client tentera de se connecter en utilisant le nom
+ d'utilisateur <code>Babs Jenson</code>, le filtre de recherche sera
+ : <code>(&(posixid=*)(cn=Babs Jenson))</code>.</p>
+
+ <p>On peut encore ajouter un paramètre optionnel pour permettre à
+ l'URL LDAP de surcharger le type de connexion. Ce paramètre peut
+ prendre l'une des valeurs suivantes :</p>
+
+<dl>
+ <dt>NONE</dt>
+ <dd>Etablit une connexion non sécurisée sur le port LDAP par
+ défaut, ce qui est équivalent à <code>ldap://</code> sur le port
+ 389.</dd>
+ <dt>SSL</dt>
+ <dd>Etablit une connexion sécurisée sur le port LDAP sécurisé
+ par défaut, ce qui est équivalent à <code>ldaps://</code>.</dd>
+ <dt>TLS | STARTTLS</dt>
+ <dd>Etablit une connexion sécurisée par élévation de niveau sur
+ le port LDAP par défaut. Cette connexion sera initialisée sur le
+ port 389 par défaut, puis élevée à un niveau de connexion
+ sécurisée sur le même port.</dd>
+</dl>
+
+ <p>Voir plus haut pour des exemples d'URLs définies par la directive
+ <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
+
+ <p>Lorsque la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> a été définie dans
+ un contexte particulier, et si un autre module a effectué
+ l'authentification correspondant à la requête, le serveur essaiera
+ de faire correspondre le nom d'utilisateur à un DN au cours du
+ processus d'autorisation, que des prérequis LDAP spécifiques soient
+ présents ou non. Pour ignorer les échecs de mise en correspondance
+ d'un nom d'utilisateur avec un DN au cours du processus
+ d'autorisation, définissez <code class="directive"><a href="# authzldapautoritative">
+ AuthzLDAPAutoritative</a></code> à "off".</p>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthzLDAPAuthoritative" id="AuthzLDAPAuthoritative">AuthzLDAPAuthoritative</a> <a name="authzldapauthoritative" id="authzldapauthoritative">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Empêche tout autre module d'authentification d'authentifier
+l'utilisateur si le module courant échoue.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzLDAPAuthoritative on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzLDAPAuthoritative on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive doit être définie à <code>off</code> si ce module
+ doit confier l'autorisation de l'utilisateur à d'autres modules
+ d'autorisation en cas d'échec. Le contrôle n'est passé à des modules
+ de plus bas niveau que s'il n'existe aucun DN ou règle qui
+ corresponde au nom d'utilisateur fourni (tel qu'il est transmis par
+ le client).</p>
+ <p>Lorsqu'aucune directive LDAP <code class="directive"><a href="../mod/core.html#require">Require</a></code> spécifique n'est utilisée,
+ l'autorisation peut être confiée à d'autres modules, comme si
+ <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> était
+ définie à <code>off</code>.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2010 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1001307 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_authnz_ldap.xml.meta">
+
+<name>mod_authnz_ldap</name>
+<description>Permet d'utiliser un annuaire LDAP pour l'authentification
+HTTP de base.</description>
+<status>Extension</status>
+<sourcefile>mod_authnz_ldap.c</sourcefile>
+<identifier>authnz_ldap_module</identifier>
+<compatibility>Dosponible depuis les versions 2.1 et supérieures
+d'Apache</compatibility>
+
+<summary>
+ <p>Ce module permet aux frontaux d'authentification comme
+ <module>mod_auth_basic</module> d'authentifier les utilisateurs via
+ un annuaire ldap.</p>
+
+ <p><module>mod_authnz_ldap</module> supporte les fonctionnalités
+ suivantes :</p>
+
+ <ul>
+ <li>Support vérifié du <a
+ href="http://www.openldap.org/">SDK OpenLDAP</a> (versions 1.x et
+ 2.x), du <a href="http://developer.novell.com/ndk/cldap.htm">
+ SDK LDAP Novell</a> et du SDK <a
+ href="http://www.iplanet.com/downloads/developer/">iPlanet
+ (Netscape)</a>.</li>
+
+ <li>Implémentation de politiques d'autorisation complexes en les
+ définissant via des filtres LDAP.</li>
+
+ <li>Mise en oeuvre élaborée d'une mise en cache des opérations LDAP
+ via <a href="mod_ldap.html">mod_ldap</a>.</li>
+
+ <li>Support de LDAP via SSL (nécessite le SDK Netscape) ou TLS
+ (nécessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).</li>
+ </ul>
+
+ <p>Lorsqu'on utilise <module>mod_auth_basic</module>, ce module est
+ invoqué en affectant la valeur <code>ldap</code> à la directive
+ <directive module="mod_auth_basic">AuthBasicProvider</directive>.</p>
+</summary>
+
+<seealso><module>mod_ldap</module></seealso>
+<seealso><module>mod_auth_basic</module></seealso>
+<seealso><module>mod_authz_user</module></seealso>
+<seealso><module>mod_authz_groupfile</module></seealso>
+
+<section id="contents"><title>Sommaire</title>
+
+ <ul>
+ <li>
+ <a href="#operation">Mode opératoire</a>
+
+ <ul>
+ <li><a href="#authenphase">La phase
+ d'authentification</a></li>
+
+ <li><a href="#authorphase">La phase d'autorisation</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#requiredirectives">Les directives requises</a>
+
+ <ul>
+ <li><a href="#requser">Require ldap-user</a></li>
+ <li><a href="#reqgroup">Require ldap-group</a></li>
+ <li><a href="#reqdn">Require ldap-dn</a></li>
+ <li><a href="#reqattribute">Require ldap-attribute</a></li>
+ <li><a href="#reqfilter">Require ldap-filter</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#examples">Exemples</a></li>
+ <li><a href="#usingtls">Utilisation de TLS</a></li>
+ <li><a href="#usingssl">Utilisation de SSL</a></li>
+ <li><a href="#exposed">Mise à disposition des informations de
+ connexion</a></li>
+ <li>
+ <a href="#frontpage">Utilisation de Microsoft FrontPage avec
+ <module>mod_authnz_ldap</module></a>
+
+ <ul>
+ <li><a href="#howitworks">Comment ça marche</a></li>
+ <li><a href="#fpcaveats">Mises en garde</a></li>
+ </ul>
+ </li>
+ </ul>
+</section>
+
+<section id="operation"><title>Mode opératoire</title>
+
+ <p>L'utilisateur se voit accorder l'accès selon un processus en deux
+ phases. La première phase est l'authentification, au cours de
+ laquelle le fournisseur d'authentification
+ <module>mod_authnz_ldap</module> vérifie que les informations de
+ connexion de l'utilisateur sont valides. Elle est aussi connue sous
+ le nom de phase de <em>recherche/connexion</em>. La deuxième
+ phase est l'autorisation, au cours de laquelle
+ <module>mod_authnz_ldap</module> détermine si l'utilisateur
+ authentifié a la permission d'accéder à la ressource considérée.
+ Elle est aussi connue sous le nom de phase de
+ <em>comparaison</em>.</p>
+
+ <p><module>mod_authnz_ldap</module> comporte un fournisseur
+ d'authentification authn_ldap et un gestionnaire d'autorisation
+ authz_ldap. Le fournisseur d'authentification authn_ldap peut être
+ invoqué en affectant la valeur <code>ldap</code> à la directive
+ <directive module="mod_auth_basic">AuthBasicProvider</directive>. Le
+ gestionnaire d'autorisation authz_ldap enrichit la liste des types
+ d'autorisations de la directive <directive
+ module="core">Require</directive> en y ajoutant les
+ valeurs <code>ldap-user</code>, <code>ldap-dn</code> et
+ <code>ldap-group</code>.</p>
+
+<section id="authenphase"><title>La phase d'authentification</title>
+
+ <p>Au cours de la phase d'authentification,
+ <module>mod_authnz_ldap</module> recherche une entrée de l'annuaire
+ LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
+ Si une correspondance unique est trouvée,
+ <module>mod_authnz_ldap</module> tente de se connecter au serveur
+ hébergeant l'annuaire LDAP en utilisant le DN de l'entrée et le mot
+ de passe fourni par le client HTTP. Comme ce processus effectue tout
+ d'abord une recherche, puis une connexion, il est aussi connu sous
+ le nom de phase de recherche/connexion. Voici le détail des étapes
+ constituant la phase de recherche/connexion :</p>
+
+ <ol>
+ <li>Construction d'un filtre de recherche en combinant les attribut
+ et filtre définis par la directive <directive module="mod_authnz_ldap"
+ >AuthLDAPURL</directive> avec le nom d'utilisateur et le mot de
+ passe fournis par le client HTTP.</li>
+
+ <li>Recherche dans l'annuaire LDAP en utilisant le filtre
+ construit précédemment. Si le résultat de la recherche est
+ négatif ou comporte plusieurs entrées, refus ou restriction de
+ l'accès.</li>
+
+ <li>Extraction du DN (distinguished name) de l'entrée issue du
+ résultat de la recherche, et tentative de connexion au serveur
+ LDAP en utilisant ce DN et le mot de passe fournis par le client
+ HTTP. Si la connexion échoue, refus ou restriction de
+ l'accès.</li>
+ </ol>
+
+ <p>Les directives utilisées durant la phase de recherche/connexion
+ sont les suivantes :</p>
+
+ <table>
+ <columnspec><column width=".3"/><column width=".7"/></columnspec>
+ <tr>
+ <td><directive
+ module="mod_authnz_ldap">AuthLDAPURL</directive></td>
+
+ <td>Spécifie le serveur LDAP, le DN de base, l'attribut à
+ utiliser pour la recherche, ainsi que les filtres de recherche
+ supplémentaires.</td>
+ </tr>
+
+ <tr>
+ <td><directive
+ module="mod_authnz_ldap">AuthLDAPBindDN</directive></td>
+
+ <td>Un DN optionnel pour se connecter durant la phase de
+ recherche.</td>
+ </tr>
+
+ <tr>
+ <td><directive
+ module="mod_authnz_ldap">AuthLDAPBindPassword</directive></td>
+
+ <td>Un mot de passe optionnel pour se connecter durant la phase
+ de recherche.</td>
+ </tr>
+ </table>
+</section>
+
+<section id="authorphase"><title>La phase d'autorisation</title>
+
+ <p>Au cours de la phase d'autorisation,
+ <module>mod_authnz_ldap</module> tente de déterminer si
+ l'utilisateur est autorisé à accéder à la ressource considérée. Une
+ grande partie de cette vérification consiste pour
+ <module>mod_authnz_ldap</module> en des opérations de comparaison au
+ niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue
+ sous le nom de phase de comparaison.
+ <module>mod_authnz_ldap</module> accepte les directives <directive
+ module="core">Require</directive> suivantes pour
+ déterminer si les informations de connexion permettent d'accorder
+ l'accès à l'utilisateur :</p>
+
+ <ul>
+ <li>Avec la directive <a
+ href="#reqgroup"><code>Require ldap-user</code></a>,
+ l'autorisation d'accès est accordée si le nom d'utilisateur
+ spécifié par la directive correspond au nom d'utilisateur fourni
+ par le client.</li>
+
+ <li>Avec la directive <a href="#reqdn"><code>Require
+ ldap-dn</code></a>, l'autorisation d'accès est accordée si le DN
+ spécifié par la directive correspond au DN extrait du résultat de
+ la recherche dans l'annuaire LDAP.</li>
+
+ <li>Avec la directive <a
+ href="#reqgroup"><code>Require ldap-group</code></a>,
+ l'autorisation d'accès est accordée si le DN extrait du résultat de
+ la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni
+ par le client) appartient au groupe LDAP spécifié par la
+ directive.</li>
+
+ <li>Avec la directive <a href="#reqattribute">
+ <code>Require ldap-attribute</code></a>, l'autorisation d'accès
+ est accordée si la valeur de l'attribut extraite de la recherche
+ dans l'annuaire LDAP correspond à la valeur spécifiée par la
+ directive.</li>
+
+ <li>Avec la directive <a href="#reqfilter">
+ <code>Require ldap-filter</code></a>, l'autorisation d'accès
+ est accordée si le filtre de recherche renvoie un objet
+ utilisateur unique qui corresponde au DN de l'utilisateur
+ authentifié.</li>
+
+ <li>dans tous les autres cas, refus ou restriction de
+ l'accès.</li>
+ </ul>
+
+ <p>Sous réserve du chargement de modules d'autorisation
+ supplémentaires, d'autres valeurs de la directive <directive
+ module="mod_authz_core">Require</directive> peuvent être
+ spécifiées. Notez que si vous utilisez une valeur <directive
+ module="core">Require</directive> fournie par un autre module
+ d'autorisation, vous devrez vous assurer que la directive <directive
+ module="mod_authnz_ldap">AuthzLDAPAuthoritative</directive> est
+ définie à <code>off</code>, afin de pouvoir confier la phase
+ d'autorisation au module qui a fourni l'autre valeur <directive
+ module="core">Require</directive>. Lorsqu'aucune directive LDAP
+ <directive module="core">Require</directive> spécifique n'est
+ fournie, la phase d'autorisation peut être confiée à d'autres
+ modules, comme si <directive
+ module="mod_authnz_ldap">AuthzLDAPAuthoritative</directive> était
+ définie à <code>off</code>.
+ </p>
+
+ <ul>
+ <li>L'accès est autorisé à tous les utilisateurs authentifiés si
+ une directive <a href="#requser"><code>Require
+ valid-user</code></a> est présente (nécessite le module
+ <module>mod_authz_user</module>).</li>
+
+ <li>Avec la directive <a
+ href="#reqgroup"><code>Require group</code></a>, l'autorisation
+ d'accès est accordée si le module
+ <module>mod_authz_groupfile</module> a été chargé et si la
+ directive <directive
+ module="mod_authz_groupfile">AuthGroupFile</directive> a été
+ définie.</li>
+
+ <li>etc...</li>
+ </ul>
+
+
+ <p>Durant la phase de comparaison, <module>mod_authnz_ldap</module>
+ utilise les directives suivantes :</p>
+
+ <table>
+ <columnspec><column width=".4"/><column width=".6"/></columnspec>
+ <tr>
+ <td><directive module="mod_authnz_ldap">AuthLDAPURL</directive>
+ </td>
+
+ <td>On utilise l'attribut spécifié dans l'URL pour les
+ opérations de comparaison initiées par la directive
+ <code>Require ldap-user</code>.</td>
+ </tr>
+
+ <tr>
+ <td><directive
+ module="mod_authnz_ldap">AuthLDAPCompareDNOnServer</directive></td>
+
+ <td>Détermine le comportement de la directive <code>Require
+ ldap-dn</code>.</td>
+ </tr>
+
+ <tr>
+ <td><directive
+ module="mod_authnz_ldap">AuthLDAPGroupAttribute</directive></td>
+
+ <td>Détermine l'attribut utilisé pour les opérations de
+ comparaison initiées par la directive <code>Require
+ ldap-group</code>.</td>
+ </tr>
+
+ <tr>
+ <td><directive
+ module="mod_authnz_ldap">AuthLDAPGroupAttributeIsDN</directive></td>
+
+ <td>Spécifie si l'on doit utiliser le DN ou le nom de
+ l'utilisateur lors des opérations de comparaison initiées par la
+ directive <code>Require ldap-group</code>.</td>
+ </tr>
+ </table>
+</section>
+</section>
+
+<section id="requiredirectives"><title>Les directives requises</title>
+
+ <p>Les directives <directive
+ module="core">Require</directive> d'Apache sont utilisées
+ au cours de la phase d'autorisation afin de s'assurer que
+ l'utilisateur est autorisé à accéder à une ressource.
+ mod_authnz_ldap enrichit la liste des types d'autorisations avec les
+ valeurs <code>ldap-user</code>, <code>ldap-dn</code>,
+ <code>ldap-group</code>, <code>ldap-attribute</code> et
+ <code>ldap-filter</code>. D'autres types d'autorisations sont
+ disponibles, sous réserve du chargement de modules d'autorisation
+ supplémentaires.</p>
+
+<section id="requser"><title>Require ldap-user</title>
+
+ <p>La directive <code>Require ldap-user</code> permet de spécifier
+ les noms des utilisateurs autorisés à accéder à la ressource.
+ Lorsque <module>mod_authnz_ldap</module> a extrait un DN unique de
+ l'annuaire LDAP, il effectue une opération de comparaison LDAP en
+ utilisant le nom d'utilisateur spécifié par la directive
+ <code>Require ldap-user</code>, pour vérifier si ce nom
+ d'utilisateur correspond à l'entrée LDAP extraite. On peut accorder
+ l'accès à plusieurs utilisateurs en plaçant plusieurs nom
+ d'utilisateurs sur la même ligne séparés par des espaces. Si un nom
+ d'utilisateur contient des espaces, il doit être entouré de
+ guillemets. On peut aussi accorder l'accès à plusieurs utilisateurs
+ en utilisant une directive <code>Require ldap-user</code> par
+ utilisateur. Par exemple, avec la directive <directive
+ module="mod_authnz_ldap">AuthLDAPURL</directive> définie à
+ <code>ldap://ldap/o=Airius?cn</code> (spécifiant donc que l'attribut
+ <code>cn</code> sera utilisé pour les recherches), on pourra
+ utiliser les directives Require suivantes pour restreindre l'accès
+ :</p>
+<example>
+Require ldap-user "Barbara Jenson"<br />
+Require ldap-user "Fred User"<br />
+Require ldap-user "Joe Manager"<br />
+</example>
+
+ <p>De par la manière dont <module>mod_authnz_ldap</module> traite
+ cette directive, Barbara Jenson peut s'authentifier comme
+ <em>Barbara Jenson</em>, <em>Babs Jenson</em> ou tout autre
+ <code>cn</code> sous lequel elle est enregistrée dans l'annuaire
+ LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour
+ toutes les valeurs de l'attribut dans l'entrée LDAP de
+ l'utilisateur.</p>
+
+ <p>Si l'attribut <code>uid</code> avait été spécifié à la place de
+ l'attribut <code>cn</code> dans l'URL précédente, les trois lignes
+ ci-dessus auraient pû être condensées en une seule ligne :</p>
+<example>Require ldap-user bjenson fuser jmanager</example>
+</section>
+
+<section id="reqgroup"><title>Require ldap-group</title>
+
+ <p>Cette directive permet de spécifier un groupe LDAP dont les
+ membres auront l'autorisation d'accès. Elle prend comme argument le
+ DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des
+ guillemets. Par exemple, supposons que l'entrée suivante existe dans
+ l'annuaire LDAP :</p>
+<example>
+dn: cn=Administrators, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Barbara Jenson, o=Airius<br />
+uniqueMember: cn=Fred User, o=Airius<br />
+</example>
+
+ <p>La directive suivante autoriserait alors l'accès à Fred et
+ Barbara :</p>
+<example>Require ldap-group cn=Administrators, o=Airius</example>
+
+
+
+ <p>Le comportement de cette directive est modifié par les directives
+ <directive
+ module="mod_authnz_ldap">AuthLDAPGroupAttribute</directive> et
+ <directive
+ module="mod_authnz_ldap">AuthLDAPGroupAttributeIsDN</directive>.</p>
+</section>
+
+<section id="reqdn"><title>Require ldap-dn</title>
+
+ <p>La directive <code>Require ldap-dn</code> permet à
+ l'administrateur d'accorder l'utorisation d'accès en fonction du DN.
+ Elle permet de spécifier un DN pour lequel l'accès est autorisé. Si
+ le DN extrait de
+ l'annuaire correspond au DN spécifié par la directive <code>Require
+ ldap-dn</code>, l'autorisation d'accès est accordée. Note :
+ n'entourez pas Le DN de guillemets.</p>
+
+ <p>La directive suivante accorderait l'accès à un DN spécifique
+ :</p>
+<example>Require ldap-dn cn=Barbara Jenson, o=Airius</example>
+
+ <p>Le comportement ce cette directive est modifié par la directive
+ <directive
+ module="mod_authnz_ldap">AuthLDAPCompareDNOnServer</directive>.</p>
+</section>
+
+<section id="reqattribute"><title>Require ldap-attribute</title>
+
+ <p>La directive <code>Require ldap-attribute</code> permet à
+ l'administrateur d'accorder l'autorisation d'accès en fonction des
+ attributs de l'utilisateur authentifié dans l'annuaire LDAP. Si la
+ valeur de l'attribut dans l'annuaire correspond à la valeur
+ spécifiée par la directive, l'autorisation d'accès est accordée.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
+
+ <example>Require ldap-attribute employeeType=actif</example>
+
+ <p>Plusieurs paires attribut/valeur peuvent être spécifiées par une
+ même directive en les séparant par des espaces, ou en définissant
+ plusieurs directives <code>Require ldap-attribute</code>. La logique
+ sous-jacente à une liste de paires attribut/valeur est une opération
+ OU. L'autorisation d'accès sera accordée si au moins une paire
+ attribut/valeur de la liste spécifiée correspond à la paire
+ attribut/valeur de l'utilisateur authentifié. Si elle contient des
+ espaces, la valeur, et seulement la valeur, doit être entourée de
+ guillemets.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
+ donc l'attribut status aurait pour valeur "actif" :</p>
+
+ <example>Require ldap-attribute city="San Jose" status=actif</example>
+
+</section>
+
+<section id="reqfilter"><title>Require ldap-filter</title>
+
+ <p>La directive <code>Require ldap-filter</code> permet à
+ l'administrateur d'accorder l'autorisation d'accès en fonction d'un
+ filtre de recherche LDAP complexe. L'autorisation d'accès est
+ accordée si le DN renvoyé par le filtre de recherche correspond au
+ DN de l'utilisateur authentifié.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur possédant un téléphone cellulaire et faisant partie du
+ département "marketing" :</p>
+
+ <example>Require ldap-filter &(cell=*)(department=marketing)</example>
+
+ <p>Alors que la directive <code>Require ldap-attribute</code> se
+ contente d'une simple comparaison d'attributs, la directive
+ <code>Require ldap-filter</code> effectue une opération de recherche
+ dans l'annuaire LDAP en utilisant le filtre de recherche spécifié.
+ Si une simple comparaison d'attributs suffit, l'opération de
+ comparaison effectuée par <code>ldap-attribute</code> sera plus
+ rapide que l'opération de recherche effectuée par
+ <code>ldap-filter</code>, en particulier dans le cas d'un annuaire
+ LDAP de grande taille.</p>
+
+</section>
+
+</section>
+
+<section id="examples"><title>Exemples</title>
+
+ <ul>
+ <li>
+ Accorde l'autorisation d'accès à tout utilisateur présent dans
+ l'annuaire LDAP, en utilisant son UID pour effectuer la
+ recherche :
+<example>
+AuthLDAPURL "ldap://ldap1.airius.com:389/ou=People, o=Airius?uid?sub?(objectClass=*)"<br />
+Require valid-user
+</example>
+ </li>
+
+ <li>
+ L'exemple suivant est similaire au précédent, mais les champs
+ dont les valeurs par défaut conviennent sont omis. Notez aussi
+ la présence d'un annuaire LDAP redondant :
+<example>AuthLDAPURL "ldap://ldap1.airius.com ldap2.airius.com/ou=People, o=Airius"<br />
+Require valid-user
+</example>
+ </li>
+
+ <li>
+ Encore un exemple similaire aux précédents, mais cette fois,
+ c'est l'attribut cn qui est utilisé pour la recherche à la place
+ de l'UID. Notez que ceci peut poser problème si plusieurs
+ utilisateurs de l'annuaire partagent le même <code>cn</code>,
+ car une recherche sur le <code>cn</code> <strong>doit</strong>
+ retourner une entrée et une seule. C'est pourquoi cette
+ approche n'est pas recommandée : il est préférable de choisir un
+ attribut de votre annuaire dont l'unicité soit garantie, comme
+ <code>uid</code>.
+<example>
+AuthLDAPURL "ldap://ldap.airius.com/ou=People, o=Airius?cn"<br />
+Require valid-user
+</example>
+ </li>
+
+ <li>
+ Accorde l'autorisation d'accès à tout utilisateur appartenant au
+ groupe Administrateurs. Les utilisateurs doivent s'authentifier
+ en utilisant leur UID :
+<example>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid<br />
+Require ldap-group cn=Administrators, o=Airius
+</example>
+ </li>
+
+ <li>
+ Pour l'exemple suivant, on suppose que tout utilisateur de chez
+ Airius qui dispose d'un bippeur alphanumérique possèdera un
+ attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
+ (authentifiés via leur UID) se verront accorder l'autorisation
+ d'accès :
+<example>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(qpagePagerID=*)<br />
+Require valid-user
+</example>
+ </li>
+
+ <li>
+ <p>L'exemple suivant illustre la puissance des filtres pour
+ effectuer des requêtes complexes. Sans les filtres, il aurait
+ été nécessaire de créer un nouveau groupe LDAP et de s'assurer
+ de la synchronisation des membres du groupe avec les
+ utilisateurs possédant un bippeur. Tout devient limpide avec les
+ filtres. Nous avons pour but d'accorder l'autorisation d'accès à
+ tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager
+ qui ne possède pas de bippeur, mais doit tout de même pouvoir
+ accéder à la ressource :</p>
+<example>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(|(qpagePagerID=*)(uid=jmanager))<br />
+Require valid-user
+</example>
+
+ <p>Ce dernier exemple peut sembler confus au premier abord ; en
+ fait, il permet de mieux comprendre à quoi doit ressembler le
+ filtre en fonction de l'utilisateur qui se connecte. Si Fred
+ User se connecte en tant que <code>fuser</code>, le filtre devra
+ ressembler à :</p>
+
+ <example>(&(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</example>
+
+ <p>Un recherche avec le filtre ci-dessus ne retournera un
+ résultat positif que si <em>fuser</em> dispose d'un bippeur. Si
+ Joe Manager se connecte en tant que <em>jmanager</em>, le filtre
+ devra ressembler à :</p>
+
+ <example>(&(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</example>
+
+ <p>Un recherche avec le filtre ci-dessus retournera un
+ résultat positif que <em>jmanager</em> dispose d'un
+ bippeur ou non</p>
+ </li>
+ </ul>
+</section>
+
+<section id="usingtls"><title>Utilisation de TLS</title>
+
+ <p>Pour l'utilisation de TLS, voir les directives du module
+ <module>mod_ldap</module> <directive
+ module="mod_ldap">LDAPTrustedClientCert</directive>, <directive
+ module="mod_ldap">LDAPTrustedGlobalCert</directive> et <directive
+ module="mod_ldap">LDAPTrustedMode</directive>.</p>
+
+ <p>Un second paramètre optionnel peut être ajouté à la directive
+ <directive module="mod_authnz_ldap">AuthLDAPURL</directive> pour
+ remplacer le type de connexion par défaut défini par la directive
+ <directive module="mod_ldap">LDAPTrustedMode</directive>. Ceci
+ permettra de promouvoir la connexion établie via une URL du type
+ <em>ldap://</em> au statut de connection sécurisée sur le même
+ port.</p>
+</section>
+
+<section id="usingssl"><title>Utilisation de SSL</title>
+
+ <p>Pour l'utilisation de SSL, voir les directives du module
+ <module>mod_ldap</module> <directive
+ module="mod_ldap">LDAPTrustedClientCert</directive>, <directive
+ module="mod_ldap">LDAPTrustedGlobalCert</directive> et <directive
+ module="mod_ldap">LDAPTrustedMode</directive>.</p>
+
+ <p>Pour spécifier un serveur LDAP sécurisé, utilisez
+ <em>ldaps://</em> au lieu de
+ <em>ldap://</em> dans la directive <directive
+ module="mod_authnz_ldap">AuthLDAPURL</directive>.</p>
+</section>
+
+<section id="exposed"><title>Mise à disposition des informations de
+connexion</title>
+
+ <p>Au cours du processus d'authentification, les attributs LDAP
+ spécifiés par la directive <directive
+ module="mod_authnz_ldap">AuthLDAPUrl</directive> sont enregistrés
+ dans des variables d'environnement préfixées par la chaîne
+ "AUTHENTICATE_".</p>
+
+ <p>Si les champs attribut contiennent le nom, le CN et le numéro de
+ téléphone d'un utilisateur, un programme CGI pourra accéder à ces
+ informations sans devoir effectuer une autre requête LDAP pour
+ les extraire de l'annuaire.</p>
+
+ <p>Ceci a pour effet de simplifier considérablement le code et la
+ configuration nécessaire de certaines applications web.</p>
+
+</section>
+
+<section id="frontpage"><title>Utilisation de Microsoft
+ FrontPage avec mod_authnz_ldap</title>
+
+ <p>Normalement, FrontPage utilise des fichiers utilisateur/groupe
+ spécifiques à FrontPage-web (c'est à dire les modules
+ <module>mod_authn_file</module> et
+ <module>mod_authz_groupfile</module>) pour effectuer toute
+ l'authentification. Malheureusement, il ne suffit pas de modifier
+ l'authentification LDAP en ajoutant les directives appropriées, car
+ ceci corromprait les formulaires de <em>Permissions</em> dans le
+ client FrontPage, qui sont censés modifier les fichiers
+ d'autorisation standards au format texte.</p>
+
+ <p>Lorsqu'un site web FrontPage a été créé, lui adjoindre
+ l'authentification LDAP consiste à ajouter les directives suivantes
+ à <em>chaque</em> fichier <code>.htaccess</code> qui sera créé dans
+ le site web :</p>
+<example><pre>
+AuthLDAPURL "l'url"
+AuthGroupFile <em>mon-fichier-de-groupes</em>
+Require group <em>mon-fichier-de-groupes</em>
+</pre></example>
+
+<section id="howitworks"><title>Comment ça marche</title>
+
+ <p>FrontPage restreint l'accès à un site web en ajoutant la
+ directive <code>Require valid-user</code> aux fichiers
+ <code>.htaccess</code>. La directive <code>Require valid-user</code>
+ permettra l'accès à tout utilisateur valide <em>du point de vue
+ LDAP</em>. Cela signifie que tout utilisateur possédant une entrée
+ dans l'annuaire LDAP sera considéré comme valide, alors que
+ FrontPage ne considère comme valides que les utilisateurs
+ enregistrés dans le fichier des utilisateurs local. En remplaçant
+ l'autorisation par groupe LDAP par une autorisation par fichier de
+ groupe, Apache sera en mesure de consulter le fichier des
+ utilisateurs local (géré par FrontPage) - au lieu de l'annuaire LDAP
+ - lors du processus d'autorisation des utilisateurs.</p>
+
+ <p>Une fois les directives ajoutées selon ce qui précède, les
+ utilisateurs FrontPage pourront effectuer toutes les opérations de
+ gestion à partir du client FrontPage.</p>
+</section>
+
+<section id="fpcaveats"><title>Avertissements</title>
+
+ <ul>
+ <li>Lors du choix de l'URL LDAP, l'attribut à utiliser pour
+ l'authentification doit aussi être valide pour le fichier des
+ utilisateurs de <module>mod_authn_file</module>. A cette fin,
+ l'UID est idéal.</li>
+
+ <li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les
+ administrateurs de FrontPage doivent choisir des noms
+ d'utilisateurs qui existent déjà dans l'annuaire LDAP (pour des
+ raisons évidentes). De même, le mot de passe que l'administrateur
+ entre dans le formulaire est ignoré, car pour l'authentification,
+ Apache utilise le mot de passe de l'annuaire LDAP, et non le mot
+ de passe enregistré dans le fichier des utilisateurs, ce qui peut
+ semer la confusion parmi les administrateurs web.</li>
+
+ <!-- XXX is that true? was mod_auth before the aaa change -->
+ <li>Pour supporter FrontPage, Apache doit être compilé avec
+ <module>mod_auth_basic</module>, <module>mod_authn_file</module>
+ et <module>mod_authz_groupfile</module>. Ceci est dû au fait
+ qu'Apache doit utiliser le fichier de groupes de
+ <module>mod_authz_groupfile</module> pour déterminer le niveau
+ d'accès d'un utilisateur au site web FrontPage.</li>
+
+ <li>Les directives doivent être placées dans les fichiers
+ <code>.htaccess</code>. Elles ne fonctionneront pas si vous les
+ placez dans une section <directive module="core"
+ type="section">Location</directive> ou <directive module="core"
+ type="section">Directory</directive>. Ceci est dû au fait que pour savoir
+ où se trouve la liste des utilisateurs valides,
+ <module>mod_authnz_ldap</module> doit être en mesure d'atteindre
+ la directive <directive
+ module="mod_authn_file">AuthGroupFile</directive> qui se trouve
+ dans les fichiers <code>.htaccess</code> de FrontPage. Si les directives
+ de <module>mod_authnz_ldap</module> ne sont pas situées dans le
+ même fichier <code>.htaccess</code> que les directives FrontPage,
+ la configuration ne fonctionnera pas, car
+ <module>mod_authnz_ldap</module> ne sera jamais en mesure de
+ traiter le fichier <code>.htaccess</code>, et par conséquent ne
+ pourra jamais trouver le fichier des utilisateurs géré par
+ FrontPage.</li>
+ </ul>
+</section>
+</section>
+
+<directivesynopsis>
+<name>AuthzLDAPAuthoritative</name>
+<description>Empêche tout autre module d'authentification d'authentifier
+l'utilisateur si le module courant échoue.</description>
+<syntax>AuthzLDAPAuthoritative on|off</syntax>
+<default>AuthzLDAPAuthoritative on</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Cette directive doit être définie à <code>off</code> si ce module
+ doit confier l'autorisation de l'utilisateur à d'autres modules
+ d'autorisation en cas d'échec. Le contrôle n'est passé à des modules
+ de plus bas niveau que s'il n'existe aucun DN ou règle qui
+ corresponde au nom d'utilisateur fourni (tel qu'il est transmis par
+ le client).</p>
+ <p>Lorsqu'aucune directive LDAP <directive
+ module="core">Require</directive> spécifique n'est utilisée,
+ l'autorisation peut être confiée à d'autres modules, comme si
+ <directive
+ module="mod_authnz_ldap">AuthzLDAPAuthoritative</directive> était
+ définie à <code>off</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPBindAuthoritative</name>
+<description>Détermine si d'autres fournisseurs d'authentification
+doivent être utilisés lorsqu'un utilisateur correspond à un DN, alors
+que le serveur ne parvient pas à se connecter avec les données
+d'authentification.</description>
+<syntax>AuthLDAPBindAuthoritative<em>off|on</em></syntax>
+<default>AuthLDAPBindAuhtoritative on</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+<compatibility>Disponible dans les versions supérieures à 2.2.14</compatibility>
+
+<usage>
+ <p>Par défaut, d'autres fournisseurs d'authentification ne sont
+ sollicités que si l'utilisateur ne correspond à aucun DN, mais pas
+ lorsque celui-ci correspond à un DN alors que le serveur ne parvient
+ pas à se connecter avec les données d'authentification. Si la
+ directive <directive
+ module="mod_authnz_ldap">AuthLDAPBindAuthoritative</directive> est
+ définie à <em>off</em>, d'autres modules d'authentification seront
+ en mesure de valider l'utilisateur si l'identification LDAP (avec
+ les données d'authentification courantes) échoue pour une raison
+ quelconque.</p>
+ <p>Ceci permet à un utilisateur présent à la fois dans LDAP et dans
+ <directive module="mod_authn_file">AuthUserFile</directive> de
+ s'authentifier lorsque le serveur LDAP est disponible alors que son
+ compte est bloqué ou que son mot de passe est inutilisable.</p>
+</usage>
+<seealso><directive module="mod_authn_file">AuthUserFile</directive></seealso>
+<seealso><directive module="mod_auth_basic">AuthBasicProvider</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPBindDN</name>
+<description>Un DN optionnel pour se connecter au serveur
+LDAP</description>
+<syntax>AuthLDAPBindDN <em>dn</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Cette directive permet de définir un DN optionnel pour se
+ connecter au serveur afin d'y rechercher des entrées. Si aucun DN
+ n'est spécifié, <module>mod_authnz_ldap</module> tentera une
+ connexion anonyme.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPBindPassword</name>
+<description>Mot de passe à utiliser en conjonction avec le DN de
+connexion</description>
+<syntax>AuthLDAPBindPassword <em>mot-de-passe</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Cette directive permet de spécifier un mot de passe à utiliser en
+ conjonction avec le DN de connexion. Notez que ce mot de passe
+ constitue en général une donnée sensible, et doit donc être protégé
+ de manière appropriée. Vous ne devez utiliser les directives
+ <directive
+ module="mod_authnz_ldap">AuthLDAPBindDN</directive> et <directive
+ module="mod_authnz_ldap">AuthLDAPBindPassword</directive> que si
+ vous en avez vraiment besoin pour effectuer une recherche dans
+ l'annuaire.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPCharsetConfig</name>
+<description>Chemin du fichier de configuration de la correspondance
+langage/jeu de caractères</description>
+<syntax>AuthLDAPCharsetConfig <em>chemin-fichier</em></syntax>
+<contextlist><context>server config</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>AuthLDAPCharsetConfig</directive> permet
+ de définir le chemin du fichier de configuration de la
+ correspondance langage/jeu de caractères. <var>chemin-fichier</var>
+ est un chemin relatif au répertoire défini par la directive
+ <directive
+ module="core">ServerRoot</directive>. Ce fichier contient une liste
+ de correspondances extension de langage/jeu de caractères. La
+ plupart des administrateurs utilisent le fichier
+ <code>charset.conv</code> fourni qui associe les extensions de
+ langage courantes à leurs jeux de caractères.</p>
+
+ <p>Le fichier contient des lignes au format suivant :</p>
+
+ <example>
+ <var>extension de langage</var> <var>jeu de caractères</var>
+ [<var>Nom du langage</var>] ...
+ </example>
+
+ <p>L'extension est insensible à la casse. Les lignes vides et les
+ lignes commençant par un dièse (<code>#</code>) sont ignorées.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPCompareDNOnServer</name>
+<description>Utilise le serveur LDAP pour comparer les DNs</description>
+<syntax>AuthLDAPCompareDNOnServer on|off</syntax>
+<default>AuthLDAPCompareDNOnServer on</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Lorsque cette directive est définie à on,
+ <module>mod_authnz_ldap</module> utilise le serveur LDAP pour
+ comparer les DNs. Il s'agit de la seule méthode infaillible pour
+ comparer les DNs. <module>mod_authnz_ldap</module> va rechercher
+ dans l'annuaire le DN spécifié par la directive <a
+ href="#reqdn"><code>Require dn</code></a>, puis extraire ce DN et le
+ comparer avec le DN extrait de l'entrée de l'utilisateur. Si cette
+ directive est à off, <module>mod_authnz_ldap</module> effectue une
+ simple comparaison de chaînes. Cette dernière approche peut produire
+ de faux négatifs, mais elle est beaucoup plus rapide. Notez
+ cependant que le cache de <module>mod_ldap</module> peut accélérer
+ la comparaison de DNs dans la plupart des situations.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPDereferenceAliases</name>
+<description>A quel moment le module va déréférencer les
+alias</description>
+<syntax>AuthLDAPDereferenceAliases never|searching|finding|always</syntax>
+<default>AuthLDAPDereferenceAliases Always</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Cette directive permet de spécifier à quel moment
+ <module>mod_authnz_ldap</module> va déréférencer les alias au cours
+ des opérations liées à LDAP. La valeur par défaut est
+ <code>always</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPGroupAttribute</name>
+<description>L'attribut LDAP utilisé pour vérifier l'appartenance d'un
+utilisateur à un groupe.</description>
+<syntax>AuthLDAPGroupAttribute <em>attribut</em></syntax>
+<default>AuthLDAPGroupAttribute member uniquemember</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Cette directive permet de spécifier quel attribut LDAP est
+ utilisé pour vérifier l'appartenance d'un utilisateur à un
+ groupe. On peut spécifier plusieurs attributs en répétant cette
+ directive plusieurs fois. Si la directive n'est pas définie,
+ <module>mod_authnz_ldap</module> utilise les attributs
+ <code>member</code> et <code>uniquemember</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPGroupAttributeIsDN</name>
+<description>Utilise le DN de l'utilisateur pour vérifier son
+appartenance à un groupe</description>
+<syntax>AuthLDAPGroupAttributeIsDN on|off</syntax>
+<default>AuthLDAPGroupAttributeIsDN on</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Lorsqu'elle est définie à <code>on</code>, cette directive
+ indique que c'est le DN de l'utilisateur qui doit être utilisé pour
+ vérifier son appartenance à un groupe. Dans le cas contraire, c'est
+ le nom de l'utilisateur qui sera utilisé. Par exemple, supposons que
+ le client envoie le nom d'utilisateur <code>bjenson</code>, qui
+ correspond au DN LDAP <code>cn=Babs Jenson,o=Airius</code>. Si la
+ directive est à <code>on</code>, <module>mod_authnz_ldap</module> va
+ vérifier si <code>cn=Babs Jenson, o=Airius</code> est un membre du
+ groupe. Dans le cas contraire, <module>mod_authnz_ldap</module>
+ vérifiera si <code>bjenson</code> est un membre du groupe.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPRemoteUserAttribute</name>
+<description>Spécifie l'attribut dont la valeur renvoyée au cours de la
+requête de l'utilisateur sera utilisée pour définir la variable
+d'environnement REMOTE_USER</description>
+<syntax>AuthLDAPRemoteUserAttribute uid</syntax>
+<default>none</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Lorsque cette directive est définie, la variable d'environnement
+ <code>REMOTE_USER</code> sera définie à la valeur de l'attribut
+ spécifié. Assurez-vous que cet attribut soit bien inclus dans la
+ liste d'attributs spécifiés dans la définition de AuthLDAPUrl ; dans
+ le cas contraire, cette directive n'aurait aucun effet. Si elle est
+ présente, cette directive l'emporte sur AuthLDAPRemoteUserIsDN. Elle
+ peut s'avérer utile par exemple, si vous souhaitez que les
+ utilisateurs se connectent à un site web en utilisant leur adresse
+ email, alors qu'une application sous-jacente nécessite un nom
+ d'utilisateur comme identifiant.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPRemoteUserIsDN</name>
+<description>Utilise le DN de l'utilisateur pour définir la variable
+d'environnement REMOTE_USER</description>
+<syntax>AuthLDAPRemoteUserIsDN on|off</syntax>
+<default>AuthLDAPRemoteUserIsDN off</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Lorsque cette directive est à on, la variable d'environnement
+ <code>REMOTE_USER</code> sera définie avec la valeur du DN complet
+ de l'utilisateur authentifié, et non plus avec simplement le nom
+ d'utilisateur fourni par le client. Elle est définie à off par
+ défaut.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPUrl</name>
+<description>L'URL permettant de spécifier les paramètres de la
+recherche LDAP</description>
+<syntax>AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+ <p>Une URL conforme à la RFC 2255 qui permet de spécifier les
+ paramètres à utiliser pour la recherche dans l'annuaire LDAP. La
+ syntaxe de l'URL est :</p>
+<example>ldap://hôte:port/DN-de-base?attribut?portée?filtre</example>
+ <p>Si vous souhaitez mettre à la disposition d'Apache plusieurs URLs
+ LDAP, la syntaxe sera :</p>
+<example>AuthLDAPUrl "ldap://ldap1.example.com
+ldap2.example.com/dc=..."</example>
+
+<dl>
+<dt>ldap</dt>
+
+ <dd>Pour ldap non sécurisé, utilisez la chaîne
+ <code>ldap</code>. Pour ldap sécurisé, utilisez à la place la
+ chaîne <code>ldaps</code>. LDAP sécurisé n'est disponible que si
+ Apache a été lié avec une bibliothèque LDAP supportant SSL.</dd>
+
+<dt>hôte:port</dt>
+
+ <dd>
+ <p>Il s'agit du nom/port du serveur ldap
+ (dont la valeur par défaut est
+ <code>localhost:389</code> pour <code>ldap</code>, et
+ <code>localhost:636</code> pour <code>ldaps</code>). Pour
+ spécifier plusieurs serveurs LDAP redondants, indiquez
+ simplement leur liste en les séparant par des espaces.
+ <module>mod_authnz_ldap</module> tentera alors de se connecter
+ à chacun des serveurs jusqu'à ce qu'il parvienne à se
+ connecter avec succès.</p>
+
+ <p>lorsqu'une connection a été établie avec un serveur, elle
+ reste active pendant toute la durée de vie du processus
+ <program>httpd</program>, ou jusqu'à ce que le serveur LDAP
+ cesse de fonctionner.</p>
+
+ <p>Si le serveur LDAP cesse de fonctionner, et ainsi
+ interrompt une
+ connexion existante, <module>mod_authnz_ldap</module> tentera
+ de se reconnecter en commençant par le premier serveur de la
+ liste, et ainsi de suite avec les serveurs redondants
+ suivants. Notez que ce processus n'a rien à voir avec une
+ véritable recherche de type round-robin.</p>
+ </dd>
+
+<dt>DN-de-</dt>
+base
+ <dd>Le DN de la branche de l'annuaire à partir de laquelle
+ toutes les recherches seront lancées. Il doit au moins
+ correspondre à la racine de votre annuaire, mais vous pouvez
+ aussi indiquer une branche plus spécifique.</dd>
+
+<dt>attribut</dt>
+
+ <dd>Il s'agit de l'attribut à utiliser pour la recherche.
+ Bien que la RFC
+ 2255 autorise une liste d'attributs séparés par des virgules,
+ seul le premier sera retenu, sans tenir compte des autres
+ attributs fournis. Si aucun attribut n'est fourni, l'attribut
+ par défaut est <code>uid</code>. Il est judicieux de choisir un
+ attribut dont la valeur sera unique parmi toutes les entrées de
+ la branche de l'annuaire que vous aurez définie.</dd>
+
+<dt>portée</dt>
+
+ <dd>Il s'agit de la portée (scope) de la recherche. Elle peut prendre
+ les valeurs <code>one</code> ou <code>sub</code>. Notez que la
+ RFC 2255 supporte aussi une portée de valeur <code>base</code>,
+ mais cette dernière n'est pas supportée par le module. Si la
+ portée n'est pas définie, ou si elle est définie à
+ <code>base</code>, c'est la valeur de portée par défaut
+ <code>sub</code> qui sera utilisée.</dd>
+
+<dt>filtre</dt>
+
+ <dd>Il s'agit d'un filtre de recherche LDAP valide. Si aucun
+ filtre n'est spécifié, le filtre par défaut
+ <code>(objectClass=*)</code> sera utilisé, ce qui corrspond à
+ une recherche de tous les types d'objets de l'arborescence. La
+ taille des filtres est limitée à environ 8000 caractères (valeur
+ de la macro <code>MAX_STRING_LEN</code> dans le code source
+ d'Apache), ce qui s'avère plus que suffisant pour la plupart des
+ applications.</dd>
+</dl>
+
+ <p>Pour une recherche, les attribut, filtre et nom d'utilisateur
+ fournis par le client HTTP sont combinés pour créer un filtre de
+ recherche du style :
+ <code>(&(<em>filtre</em>)(<em>attribut</em>
+ =<em>nom-utilisateur</em>))</code>.</p>
+
+ <p>Par exemple, considérons l'URL
+ <code>ldap://ldap.airius.com/o=Airius?cn?sub?(posixid=*)</code>.
+ Lorsqu'un client tentera de se connecter en utilisant le nom
+ d'utilisateur <code>Babs Jenson</code>, le filtre de recherche sera
+ : <code>(&(posixid=*)(cn=Babs Jenson))</code>.</p>
+
+ <p>On peut encore ajouter un paramètre optionnel pour permettre à
+ l'URL LDAP de surcharger le type de connexion. Ce paramètre peut
+ prendre l'une des valeurs suivantes :</p>
+
+<dl>
+ <dt>NONE</dt>
+ <dd>Etablit une connexion non sécurisée sur le port LDAP par
+ défaut, ce qui est équivalent à <code>ldap://</code> sur le port
+ 389.</dd>
+ <dt>SSL</dt>
+ <dd>Etablit une connexion sécurisée sur le port LDAP sécurisé
+ par défaut, ce qui est équivalent à <code>ldaps://</code>.</dd>
+ <dt>TLS | STARTTLS</dt>
+ <dd>Etablit une connexion sécurisée par élévation de niveau sur
+ le port LDAP par défaut. Cette connexion sera initialisée sur le
+ port 389 par défaut, puis élevée à un niveau de connexion
+ sécurisée sur le même port.</dd>
+</dl>
+
+ <p>Voir plus haut pour des exemples d'URLs définies par la directive
+ <directive module="mod_authnz_ldap">AuthLDAPURL</directive>.</p>
+
+ <p>Lorsque la directive <directive
+ module="mod_authnz_ldap">AuthLDAPURL</directive> a été définie dans
+ un contexte particulier, et si un autre module a effectué
+ l'authentification correspondant à la requête, le serveur essaiera
+ de faire correspondre le nom d'utilisateur à un DN au cours du
+ processus d'autorisation, que des prérequis LDAP spécifiques soient
+ présents ou non. Pour ignorer les échecs de mise en correspondance
+ d'un nom d'utilisateur avec un DN au cours du processus
+ d'autorisation, définissez <directive module="mod_authnz_ldap">
+ AuthzLDAPAutoritative</directive> à "off".</p>
+
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>