<?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 Version 2.2</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> <script src="../style/scripts/prettify.min.js" type="text/javascript"> </script> <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="http://wiki.apache.org/httpd/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><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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_authz_groupfile.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">AllowOverride:</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">AllowOverride:</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">AllowOverride:</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><em>exec:</em> est disponible depuis la version 2.2.25 du serveur HTTP Apache.</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> <p>Si la cha�ne sp�cifi�e comme mot de passe commence par exec: , la commande correspondante est ex�cut�e, et c'est la premi�re ligne qui sera renvoy�e par la commande sur la sortie standard qui sera utilis�e comme mot de passe.</p> <div class="example"><pre># Mot de passe sp�cifi� directement AuthLDAPBindPassword secret # Ex�cution de /path/to/program pour obtenir le mot de passe AuthLDAPBindPassword exec:/path/to/program # Ex�cution de /path/to/program avec un argument pour obtenir le mot de passe AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"</pre></div> </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">AllowOverride:</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">AllowOverride:</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">AllowOverride:</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">AllowOverride:</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">AllowOverride:</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">AllowOverride:</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">AllowOverride:</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-base</dt> <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="#authzldapauthoritative"> AuthzLDAPAuthoritative</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">AllowOverride:</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 class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> <script type="text/javascript"><!--//--><![CDATA[//><!-- var comments_shortname = 'httpd'; var comments_identifier = 'http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html'; (function(w, d) { if (w.location.hostname.toLowerCase() == "httpd.apache.org") { d.write('<div id="comments_thread"><\/div>'); var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); } else { d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); } })(window, document); //--><!]]></script></div><div id="footer"> <p class="apache">Copyright 2014 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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } //--><!]]></script> </body></html>