]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_authnz_ldap.html.fr
2009 -> 2010 in the copyright statement. Nobody seems to know if this is
[apache] / docs / manual / mod / mod_authnz_ldap.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>mod_authnz_ldap - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body>
14 <div id="page-header">
15 <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>
16 <p class="apache">Serveur Apache HTTP Version 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Module Apache mod_authnz_ldap</h1>
23 <div class="toplang">
24 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../fr/mod/mod_authnz_ldap.html" title="Français">&nbsp;fr&nbsp;</a></p>
26 </div>
27 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification
28 HTTP de base.</td></tr>
29 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
30 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authnz_ldap_module</td></tr>
31 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_ldap.c</td></tr>
32 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dosponible depuis les versions 2.1 et supérieures
33 d'Apache</td></tr></table>
34 <h3>Sommaire</h3>
35
36     <p>Ce module permet aux frontaux d'authentification comme
37     <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> d'authentifier les utilisateurs via
38     un annuaire ldap.</p>
39
40     <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> supporte les fonctionnalités
41     suivantes :</p>
42
43     <ul>
44       <li>Support vérifié du <a href="http://www.openldap.org/">OpenLDAP SDK</a> (versions 1.x et
45       2.x), du <a href="http://developer.novell.com/ndk/cldap.htm">
46       Novell LDAP SDK</a> et du SDK <a href="http://www.iplanet.com/downloads/developer/">iPlanet
47       (Netscape)</a>.</li>
48
49       <li>Implémentation de politiques d'autorisation complexes en les
50       définissant via des filtres LDAP.</li>
51
52       <li>Mise en oeuvre d'une mise en cache des opérations LDAP
53       élaborée via <a href="mod_ldap.html">mod_ldap</a>.</li>
54
55       <li>Support de LDAP via SSL (nécessite le SDK Netscape) ou TLS
56       (nécessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).</li>
57     </ul>
58
59     <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, ce module est
60     invoqué en affectant la valeur <code>ldap</code> à la directive
61     <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
62 </div>
63 <div id="quickview"><h3 class="directives">Directives</h3>
64 <ul id="toc">
65 <li><img alt="" src="../images/down.gif" /> <a href="#authldapbinddn">AuthLDAPBindDN</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#authldapbindpassword">AuthLDAPBindPassword</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></li>
71 <li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPUrl</a></li>
78 </ul>
79 <h3>Sujets</h3>
80 <ul id="topics">
81 <li><img alt="" src="../images/down.gif" /> <a href="#contents">Sommaire</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#operation">Mode opératoire</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives requises</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
85 <li><img alt="" src="../images/down.gif" /> <a href="#usingtls">Utilisation de TLS</a></li>
86 <li><img alt="" src="../images/down.gif" /> <a href="#usingssl">Utilisation de SSL</a></li>
87 <li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de
88 connexion</a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#activedirectory">Utilisation d'Active
90 Directory</a></li>
91 <li><img alt="" src="../images/down.gif" /> <a href="#frontpage">Utilisation de Microsoft
92     FrontPage avec mod_authnz_ldap</a></li>
93 </ul><h3>Voir aussi</h3>
94 <ul class="seealso">
95 <li><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></li>
96 <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
97 <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
98 <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
99 </ul></div>
100 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
101 <div class="section">
102 <h2><a name="contents" id="contents">Sommaire</a></h2>
103
104     <ul>
105       <li>
106         <a href="#operation">Mode opératoire</a>
107
108         <ul>
109           <li><a href="#authenphase">La phase
110           d'authentification</a></li>
111
112           <li><a href="#authorphase">La phase d'autorisation</a></li>
113         </ul>
114       </li>
115
116       <li>
117         <a href="#requiredirectives">Les directives requises</a>
118
119         <ul>
120           <li><a href="#requser">Require ldap-user</a></li>
121           <li><a href="#reqgroup">Require ldap-group</a></li>
122           <li><a href="#reqdn">Require ldap-dn</a></li>
123           <li><a href="#reqattribute">Require ldap-attribute</a></li>
124           <li><a href="#reqfilter">Require ldap-filter</a></li>
125         </ul>
126       </li>
127
128       <li><a href="#examples">Exemples</a></li>
129       <li><a href="#usingtls">Utilisation de TLS</a></li>
130       <li><a href="#usingssl">Utilisation de SSL</a></li>
131       <li><a href="#exposed">Mise à disposition des informations de
132       connexion</a></li>
133       <li><a href="#activedirectory">Utilisation d'Active Directory</a></li>
134       <li>
135         <a href="#frontpage">Utilisation de Microsoft FrontPage avec
136         <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></a>
137
138         <ul>
139           <li><a href="#howitworks">Comment ça marche</a></li>
140           <li><a href="#fpcaveats">Mises en garde</a></li>
141         </ul>
142       </li>
143     </ul>
144 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
145 <div class="section">
146 <h2><a name="operation" id="operation">Mode opératoire</a></h2>
147
148     <p>L'utilisateur se voit accorder l'accès selon un processus en deux
149     phases. La première phase est l'authentification, au cours de
150     laquelle le fournisseur d'authentification
151     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> vérifie que les informations de
152     connexion de l'utilisateur sont valides. Elle est aussi connue sous
153     le nom de phase de <em>recherche/connexion</em> (NdT : en anglais ou
154     dans le code source : <em>search/bind</em>). La deuxième
155     phase est l'autorisation, au cours de laquelle
156     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> détermine si l'utilisateur
157     authentifié a la permission d'accéder à la ressource considérée.
158     Elle est aussi connue sous le nom de phase de
159     <em>comparaison</em> (<em>compare</em>).</p>
160
161     <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> comporte un fournisseur
162     d'authentification authn_ldap et un gestionnaire d'autorisation
163     authz_ldap. Le fournisseur d'authentification authn_ldap peut être
164     invoqué en affectant la valeur <code>ldap</code> à la directive
165     <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Le
166     gestionnaire d'autorisation authz_ldap enrichit la liste des types
167     d'autorisations de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> en y ajoutant les
168     valeurs <code>ldap-user</code>, <code>ldap-dn</code> et
169     <code>ldap-group</code>.</p>
170
171 <h3><a name="authenphase" id="authenphase">La phase d'authentification</a></h3>
172
173     <p>Au cours de la phase d'authentification,
174     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> recherche une entrée de l'annuaire
175     LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
176     Si une correspondance unique est trouvée,
177     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de se connecter au serveur
178     hébergeant l'annuaire LDAP en utilisant le DN de l'entrée et le mot
179     de passe fourni par le client HTTP. Comme ce processus effectue tout
180     d'abord une recherche, puis une connexion, il est aussi connu sous
181     le nom de phase de recherche/connexion. Voici le détail des étapes
182     constituant la phase de recherche/connexion :</p>
183
184     <ol>
185       <li>Confection d'un filtre de recherche en combinant les attribut
186       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
187       passe fournis par le client HTTP.</li>
188
189       <li>Recherche dans l'annuaire LDAP en utilisant le filtre
190       confectionné précédemment. Si le résultat de la recherche est
191       négatif ou comporte plusieurs entrées, refus ou restriction de
192       l'accès.</li>
193
194       <li>Extraction du DN (distinguished name) de l'entrée issue du
195       résultat de la recherche, et tentative de connexion au serveur
196       LDAP en utilisant ce DN et le mot de passe fournis par le client
197       HTTP. Si la connexion échoue, refus ou restriction de
198       l'accès.</li>
199     </ol>
200
201     <p>Les directives utilisées durant la phase de recherche/connexion
202     sont les suivantes :</p>
203
204     <table>
205       
206       <tr>
207         <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code></td>
208
209         <td>Spécifie le serveur LDAP, le DN de base, l'attribut à
210         utiliser pour la recherche, ainsi que les filtres de recherche
211         supplémentaires.</td>
212       </tr>
213
214       <tr>
215         <td><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></td>
216
217         <td>Un DN optionnel pour se connecter durant la phase de
218         recherche.</td>
219       </tr>
220
221       <tr>
222         <td><code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code></td>
223
224         <td>Un mot de passe optionnel pour se connecter durant la phase
225         de recherche.</td>
226       </tr>
227     </table>
228
229
230 <h3><a name="authorphase" id="authorphase">La phase d'autorisation</a></h3>
231
232     <p>Au cours de la phase d'autorisation,
233     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de déterminer si
234     l'utilisateur est autorisé à accéder à la ressource considérée. Une
235     grande partie de cette vérification consiste pour
236     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> en des opérations de comparaison au
237     niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue
238     sous le nom de phase de comparaison.
239     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> accepte les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> suivantes pour
240     déterminer si les informations de connexion permettent d'accorder
241     l'accès à l'utilisateur :</p>
242
243     <ul>
244       <li>Avec la directive <a href="#reqgroup"><code>Require ldap-user</code></a>,
245       l'autorisation d'accès est accordée si le nom d'utilisateur
246       spécifié par la directive correspond au nom d'utilisateur fourni
247       par le client.</li>
248
249       <li>Avec la directive <a href="#reqdn"><code>Require
250       ldap-dn</code></a>, l'autorisation d'accès est accordée si le DN
251       spécifié par la directive correspond au DN extrait du résultat de
252       la recherche dans l'annuaire LDAP.</li>
253
254       <li>Avec la directive <a href="#reqgroup"><code>Require ldap-group</code></a>,
255       l'autorisation d'accès est accordée si le DN extrait du résultat de
256       la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni
257       par le client) appartient au groupe LDAP spécifié par la
258       directive, ou éventuellement à un de ses sous-groupes.</li>
259
260       <li>Avec la directive <a href="#reqattribute">
261       <code>Require ldap-attribute</code></a>, l'autorisation d'accès
262       est accordée si la valeur de l'attribut extraite de la recherche
263       dans l'annuaire LDAP correspond à la valeur spécifiée par la
264       directive.</li>
265
266       <li>Avec la directive <a href="#reqfilter">
267       <code>Require ldap-filter</code></a>, l'autorisation d'accès
268       est accordée si le filtre de recherche renvoie un objet
269       utilisateur unique qui corresponde au DN de l'utilisateur
270       authentifié.</li>
271
272       <li>dans tous les autres cas, refus ou restriction de
273       l'accès.</li>
274     </ul>
275
276     <p>Sous réserve du chargement de modules d'autorisation
277     supplémentaires, d'autres valeurs de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> peuvent être
278     spécifiées.</p>
279
280     <ul>
281         <li>L'accès est accordé à tous les utilisateurs authentifiés si
282         une directive <a href="#requser"><code>Require
283         valid-user</code></a> est présente (nécessite le module
284         <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>).</li>
285
286         <li>Avec la directive <a href="#reqgroup"><code>Require group</code></a>, l'autorisation
287         d'accès est accordée si le module
288         <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> a été chargé et si la
289         directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> a été
290         définie.</li>
291
292         <li>etc...</li>
293      </ul>
294
295
296     <p>Durant la phase de comparaison, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
297     utilise les directives suivantes :</p>
298
299     <table>
300       
301       <tr>
302         <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>
303         </td>
304
305         <td>On utilise l'attribut spécifié dans l'URL pour les
306         opérations de comparaison initiées par la directive
307         <code>Require ldap-user</code>.</td>
308       </tr>
309
310       <tr>
311         <td><code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code></td>
312
313         <td>Détermine le comportement de la directive <code>Require
314         ldap-dn</code>.</td>
315       </tr>
316
317       <tr>
318         <td><code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code></td>
319
320         <td>Détermine l'attribut utilisé pour les opérations de
321         comparaison initiées par la directive <code>Require
322         ldap-group</code>.</td>
323       </tr>
324
325       <tr>
326         <td><code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code></td>
327
328         <td>Spécifie si l'on doit utiliser le DN ou le nom de
329         l'utilisateur lors des opérations de comparaison initiées par la
330         directive <code>Require ldap-group</code>.</td>
331       </tr>
332
333       <tr>
334         <td><code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code></td>
335
336         <td>Détermine la profondeur maximale de l'arborescence des
337         sous-groupes qui seront évalués au cours des opérations de
338         comparaisons initiées par la directive <code>Require
339         ldap-group</code>.</td>
340       </tr>
341
342       <tr>
343         <td><code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code></td>
344
345         <td>Détermine l'attribut à utiliser lors de l'extraction de
346         membres de sous-groupes du groupe courant au cours des
347         opérations de comparaison initiées par la directive
348         <code>Require ldap-group</code>.</td>
349       </tr>
350
351       <tr>
352         <td><code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code></td>
353
354         <td>Spécifie les valeurs de classe d'objet LDAP à utiliser pour
355         déterminer si les objets extraits de l'annuaire sont bien des
356         objets de type groupe (et non des objets de type utilisateur),
357         au cours du traitement des sous-groupes initié par la directive
358         <code>Require ldap-group</code>.</td>
359       </tr>
360     </table>
361
362 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
363 <div class="section">
364 <h2><a name="requiredirectives" id="requiredirectives">Les directives requises</a></h2>
365
366     <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache sont utilisées
367     au cours de la phase d'autorisation afin de s'assurer que
368     l'utilisateur est autorisé à accéder à une ressource.
369     mod_authnz_ldap enrichit la liste des types d'autorisations avec les
370     valeurs <code>ldap-user</code>, <code>ldap-dn</code>,
371     <code>ldap-group</code>, <code>ldap-attribute</code> et
372     <code>ldap-filter</code>. D'autres types d'autorisations sont
373     disponibles, sous réserve du chargement de modules d'autorisation
374     supplémentaires.</p>
375
376 <h3><a name="requser" id="requser">Require ldap-user</a></h3>
377
378     <p>La directive <code>Require ldap-user</code> permet de spécifier
379     les noms des utilisateurs autorisés à accéder à la ressource.
380     Lorsque <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a extrait un DN unique de
381     l'annuaire LDAP, il effectue une opération de comparaison LDAP en
382     utilisant le nom d'utilisateur spécifié par la directive
383     <code>Require ldap-user</code>, pour vérifier si ce nom
384     d'utilisateur correspond à l'entrée LDAP extraite. On peut accorder
385     l'accès à plusieurs utilisateurs en plaçant plusieurs nom
386     d'utilisateurs sur la même ligne séparés par des espaces. Si un nom
387     d'utilisateur contient des espaces, il doit être entouré de
388     guillemets. On peut aussi accorder l'accès à plusieurs utilisateurs
389     en utilisant une directive <code>Require ldap-user</code> par
390     utilisateur. Par exemple, avec la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> définie à
391     <code>ldap://ldap/o=Airius?cn</code> (spécifiant donc que l'attribut
392     <code>cn</code> sera utilisé pour les recherches), on pourra
393     utiliser les directives Require suivantes pour restreindre l'accès
394     :</p>
395 <div class="example"><p><code>
396 Require ldap-user "Barbara Jenson"<br />
397 Require ldap-user "Fred User"<br />
398 Require ldap-user "Joe Manager"<br />
399 </code></p></div>
400
401     <p>De par la manière dont <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> traite
402     cette directive, Barbara Jenson peut s'authentifier comme
403     <em>Barbara Jenson</em>, <em>Babs Jenson</em> ou tout autre
404     <code>cn</code> sous lequel elle est enregistrée dans l'annuaire
405     LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour
406     toutes les valeurs de l'attribut dans l'entrée LDAP de
407     l'utilisateur.</p>
408
409     <p>Si l'attribut <code>uid</code> avait été spécifié à la place de
410     l'attribut <code>cn</code> dans l'URL précédente, les trois lignes
411     ci-dessus auraient pû être condensées en une seule ligne :</p>
412 <div class="example"><p><code>Require ldap-user bjenson fuser jmanager</code></p></div>
413
414
415 <h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3>
416
417     <p>Cette directive permet de spécifier un groupe LDAP dont les
418     membres auront l'autorisation d'accès. Elle prend comme argument le
419     DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des
420     guillemets. Par exemple, supposons que l'entrée suivante existe dans
421     l'annuaire LDAP :</p>
422 <div class="example"><p><code>
423 dn: cn=Administrators, o=Airius<br />
424 objectClass: groupOfUniqueNames<br />
425 uniqueMember: cn=Barbara Jenson, o=Airius<br />
426 uniqueMember: cn=Fred User, o=Airius<br />
427 </code></p></div>
428
429     <p>La directive suivante autoriserait alors l'accès à Fred et
430     Barbara :</p>
431 <div class="example"><p><code>Require ldap-group cn=Administrators, o=Airius</code></p></div>
432
433     <p>Les membres peuvent aussi se trouver dans les sous-groupes du
434     groupe LDAP spécifié si la directive <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code> a été
435     définie à une valeur supérieure à 0. Par exemple, supposons que les
436     entrées suivantes existent dans l'annuaire LDAP :</p>
437 <div class="example"><p><code>
438 dn: cn=Employees, o=Airius<br />
439 objectClass: groupOfUniqueNames<br />
440 uniqueMember: cn=Managers, o=Airius<br />
441 uniqueMember: cn=Administrators, o=Airius<br />
442 uniqueMember: cn=Users, o=Airius<br />
443 <br />
444 dn: cn=Managers, o=Airius<br />
445 objectClass: groupOfUniqueNames<br />
446 uniqueMember: cn=Bob Ellis, o=Airius<br />
447 uniqueMember: cn=Tom Jackson, o=Airius<br />
448 <br />
449 dn: cn=Administrators, o=Airius<br />
450 objectClass: groupOfUniqueNames<br />
451 uniqueMember: cn=Barbara Jenson, o=Airius<br />
452 uniqueMember: cn=Fred User, o=Airius<br />
453 <br />
454 dn: cn=Users, o=Airius<br />
455 objectClass: groupOfUniqueNames<br />
456 uniqueMember: cn=Allan Jefferson, o=Airius<br />
457 uniqueMember: cn=Paul Tilley, o=Airius<br />
458 uniqueMember: cn=Temporary Employees, o=Airius<br />
459 <br />
460 dn: cn=Temporary Employees, o=Airius<br />
461 objectClass: groupOfUniqueNames<br />
462 uniqueMember: cn=Jim Swenson, o=Airius<br />
463 uniqueMember: cn=Elliot Rhodes, o=Airius<br />
464 </code></p></div>
465
466     <p>Les directives suivantes autoriseraient alors l'accès à Bob
467     Ellis, Tom Jackson, Barbara Jensen, Fred User, Allan Jefferson, et
468     Paul Tilley, mais l'interdiraient à Jim Swenson, ou Elliot Rhodes
469     (car ils sont situés dans un sous-groupe de niveau de profondeur 2)
470     :</p>
471 <div class="example"><p><code>
472 Require ldap-group cn=Employees, o-Airius<br />
473 AuthLDAPSubGroupDepth 1<br />
474 </code></p></div>
475
476     <p>Le comportement de cette directive est modifié par les directives
477     <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code>,
478     <code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code>,
479     <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code>,
480     <code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code>, et
481     <code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code>.</p>
482
483
484 <h3><a name="reqdn" id="reqdn">Require ldap-dn</a></h3>
485
486     <p>La directive <code>Require ldap-dn</code> permet à
487     l'administrateur d'accorder l'utorisation d'accès en fonction du DN.
488     Elle permet de spécifier un DN pour lequel l'accès est autorisé. Si
489     le DN extrait de
490     l'annuaire correspond au DN spécifié par la directive <code>Require
491     ldap-dn</code>, l'autorisation d'accès est accordée. Note :
492     n'entourez pas Le DN de guillemets.</p>
493
494     <p>La directive suivante accorderait l'accès à un DN spécifique
495     :</p>
496 <div class="example"><p><code>Require ldap-dn cn=Barbara Jenson, o=Airius</code></p></div>
497
498     <p>Le comportement ce cette directive est modifié par la directive
499     <code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code>.</p>
500
501
502 <h3><a name="reqattribute" id="reqattribute">Require ldap-attribute</a></h3>
503
504     <p>La directive <code>Require ldap-attribute</code> permet à
505     l'administrateur d'accorder l'autorisation d'accès en fonction des
506     attributs de l'utilisateur authentifié dans l'annuaire LDAP. Si la
507     valeur de l'attribut dans l'annuaire correspond à la valeur
508     spécifiée par la directive, l'autorisation d'accès est accordée.</p>
509
510     <p>La directive suivante accorderait l'autorisation d'accès à tout
511     utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
512
513     <div class="example"><p><code>Require ldap-attribute employeeType=actif</code></p></div>
514
515     <p>Plusieurs paires attribut/valeur peuvent être spécifiées par une
516     même directive en les séparant par des espaces, ou en définissant
517     plusieurs directives <code>Require ldap-attribute</code>. La logique
518     sous-jacente à une liste de paires attribut/valeur est une opération
519     OU. L'autorisation d'accès sera accordée si au moins une paire
520     attribut/valeur de la liste spécifiée correspond à la paire
521     attribut/valeur de l'utilisateur authentifié. Si elle contient des
522     espaces, la valeur, et seulement la valeur, doit être entourée de
523     guillemets.</p>
524
525     <p>La directive suivante accorderait l'autorisation d'accès à tout
526     utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
527     donc l'attribut status aurait pour valeur "actif" :</p>
528
529     <div class="example"><p><code>Require ldap-attribute city="San Jose" status=actif</code></p></div>
530
531
532
533 <h3><a name="reqfilter" id="reqfilter">Require ldap-filter</a></h3>
534
535     <p>La directive <code>Require ldap-filter</code> permet à
536     l'administrateur d'accorder l'autorisation d'accès en fonction d'un
537     filtre de recherche LDAP complexe. L'autorisation d'accès est
538     accordée si le DN renvoyé par le filtre de recherche correspond au
539     DN de l'utilisateur authentifié.</p>
540
541     <p>La directive suivante accorderait l'autorisation d'accès à tout
542     utilisateur possédant un téléphone cellulaire et faisant partie du
543     département "marketing" :</p>
544
545     <div class="example"><p><code>Require ldap-filter &amp;(cell=*)(department=marketing)</code></p></div>
546
547     <p>Alors que la directive <code>Require ldap-attribute</code> se
548     contente d'une simple comparaison d'attributs, la directive
549     <code>Require ldap-filter</code> effectue une opération de recherche
550     dans l'annuaire LDAP en utilisant le filtre de recherche spécifié.
551     Si une simple comparaison d'attributs suffit, l'opération de
552     comparaison effectuée par <code>ldap-attribute</code> sera plus
553     rapide que l'opération de recherche effectuée par
554     <code>ldap-filter</code>, en particulier dans le cas d'un annuaire
555     LDAP de grande taille.</p>
556
557
558
559 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
560 <div class="section">
561 <h2><a name="examples" id="examples">Exemples</a></h2>
562
563     <ul>
564       <li>
565         Accorde l'autorisation d'accès à tout utilisateur présent dans
566         l'annuaire LDAP, en utilisant son UID pour effectuer la
567         recherche :
568 <div class="example"><p><code>
569 AuthLDAPURL "ldap://ldap1.airius.com:389/ou=People, o=Airius?uid?sub?(objectClass=*)"<br />
570 Require valid-user
571 </code></p></div>
572       </li>
573
574       <li>
575         L'exemple suivant est similaire au précédent, mais les champs
576         dont les valeurs par défaut conviennent sont omis. Notez aussi
577         la présence d'un annuaire LDAP redondant :
578 <div class="example"><p><code>AuthLDAPURL "ldap://ldap1.airius.com ldap2.airius.com/ou=People, o=Airius"<br />
579 Require valid-user
580 </code></p></div>
581       </li>
582
583       <li>
584         Encore un exemple similaire aux précédents, mais cette fois,
585         c'est l'attribut cn qui est utilisé pour la recherche à la place
586         de l'UID. Notez que ceci peut poser problème si plusieurs
587         utilisateurs de l'annuaire partagent le même <code>cn</code>,
588         car une recherche sur le <code>cn</code> <strong>doit</strong>
589         retourner une entrée et une seule. C'est pourquoi cette
590         approche n'est pas recommandée : il est préférable de choisir un
591         attribut de votre annuaire dont l'unicité soit garantie, comme
592         <code>uid</code>.
593 <div class="example"><p><code>
594 AuthLDAPURL "ldap://ldap.airius.com/ou=People, o=Airius?cn"<br />
595 Require valid-user
596 </code></p></div>
597       </li>
598
599       <li>
600         Accorde l'autorisation d'accès à tout utilisateur appartenant au
601         groupe Administrateurs. Les utilisateurs doivent s'authentifier
602         en utilisant leur UID :
603 <div class="example"><p><code>
604 AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid<br />
605 Require ldap-group cn=Administrators, o=Airius
606 </code></p></div>
607       </li>
608
609       <li>
610         Pour l'exemple suivant, on suppose que tout utilisateur de chez
611         Airius qui dispose d'un bippeur alphanumérique possèdera un
612         attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
613         (authentifiés via leur UID) se verront accorder l'autorisation
614         d'accès :
615 <div class="example"><p><code>
616 AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(qpagePagerID=*)<br />
617 Require valid-user
618 </code></p></div>
619       </li>
620
621       <li>
622         <p>L'exemple suivant illustre la puissance des filtres pour
623         effectuer des requêtes complexes. Sans les filtres, il aurait
624         été nécessaire de créer un nouveau groupe LDAP et de s'assurer
625         de la synchronisation des membres du groupe avec les
626         utilisateurs possédant un bippeur. Tout devient limpide avec les
627         filtres. Nous avons pour but d'accorder l'autorisation d'accès à
628         tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager
629         qui ne possède pas de bippeur, mais doit tout de même pouvoir
630         accéder à la ressource :</p>
631 <div class="example"><p><code>
632 AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(|(qpagePagerID=*)(uid=jmanager))<br />
633 Require valid-user
634 </code></p></div>
635
636         <p>Ce dernier exemple peut sembler confus au premier abord ; en
637         fait, il permet de mieux comprendre à quoi doit ressembler le
638         filtre en fonction de l'utilisateur qui se connecte. Si Fred
639         User se connecte en tant que <code>fuser</code>, le filtre devra
640         ressembler à :</p>
641
642         <div class="example"><p><code>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</code></p></div>
643
644         <p>Un recherche avec le filtre ci-dessus ne retournera un
645         résultat positif que si <em>fuser</em> dispose d'un bippeur. Si
646         Joe Manager se connecte en tant que <em>jmanager</em>, le filtre
647         devra ressembler à :</p>
648
649         <div class="example"><p><code>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</code></p></div>
650
651         <p>Un recherche avec le filtre ci-dessus retournera un
652         résultat positif que <em>jmanager</em> dispose d'un
653         bippeur ou non</p>
654       </li>
655     </ul>
656 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
657 <div class="section">
658 <h2><a name="usingtls" id="usingtls">Utilisation de TLS</a></h2>
659
660     <p>Pour l'utilisation de TLS, voir les directives du module
661     <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>
662
663     <p>Un second paramètre optionnel peut être ajouté à la directive
664     <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> pour
665     remplacer le type de connexion par défaut défini par la directive
666     <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>. Ceci
667     permettra de promouvoir la connexion établie via une URL du type
668     <em>ldap://</em> au statut de connection sécurisée sur le même
669     port.</p>
670 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
671 <div class="section">
672 <h2><a name="usingssl" id="usingssl">Utilisation de SSL</a></h2>
673
674     <p>Pour l'utilisation de SSL, voir les directives du module
675     <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>
676
677     <p>Pour spécifier un serveur LDAP sécurisé, utilisez
678     <em>ldaps://</em> au lieu de
679     <em>ldap://</em> dans la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
680 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
681 <div class="section">
682 <h2><a name="exposed" id="exposed">Mise à disposition des informations de
683 connexion</a></h2>
684
685     <p>Au cours du processus d'authentification, les attributs LDAP
686     spécifiés par la directive <code class="directive"><a href="#authldapurl">AuthLDAPUrl</a></code> sont enregistrés
687     dans des variables d'environnement préfixées par la chaîne
688     "AUTHENTICATE_".</p>
689
690     <p>Si les champs attribut contiennent le nom, le CN et le numéro de
691     téléphone d'un utilisateur, un programme CGI pourra accéder à ces
692     informations sans devoir effectuer une autre requête LDAP pour
693     les extraire de l'annuaire.</p>
694
695     <p>Ceci a pour effet de simplifier considérablement le code et la
696     configuration nécessaire de certaines applications web.</p>
697
698 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
699 <div class="section">
700 <h2><a name="activedirectory" id="activedirectory">Utilisation d'Active
701 Directory</a></h2>
702
703     <p>Active Directory peut supporter plusieurs domaines à la fois.
704     Pour faire la distinction entre les utilisateurs de plusieurs
705     domaines, on peut ajouter à l'entrée de l'utilisateur dans
706     l'annuaire un identifiant appelé Nom
707     Principal d'Utilisateur (User Principle Name ou UPN). Cet UPN se
708     compose en général du nom de compte de l'utilisateur, suivi du nom
709     du domaine considéré, par exemple <em>untel@nz.example.com</em>.</p>
710
711     <p>Vous voudrez probablement configurer le module
712     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> afin de pouvoir authentifier les
713     utilisateurs de n'importe quel domaine de la forêt Active Directory.
714     Ainsi, <em>untel@nz.example.com</em> et
715     <em>untel@au.example.com</em> pourront être authentifiés en une
716     seule fois par la même requête.</p>
717
718     <p>Pour y parvenir, on utilise le concept de Catalogue Global
719     d'Active Directory. Ce Catalogue Global est une copie en lecture
720     seule des attributs sélectionnés de tous les serveurs de la forêt
721     Active Directory. Une requête vers le
722     Catalogue Global permet donc d'atteindre tous les domaines en une
723     seule fois, sans avoir à se connecter aux différents serveurs, via
724     des liaisons dont certaines peuvent être lentes.</p>
725
726     <p>Lorsqu'il est activé, la Catalogue Global est un serveur
727     d'annuaire indépendant accessible sur le port 3268 (3269 pour SSL).
728     Pour rechercher un utilisateur, effectuez une recherche sur
729     l'attribut <em>userPrincipalName</em>, avec une base de recherche
730     vide, comme suit :</p>
731
732 <div class="example"><p><code>
733 AuthLDAPBindDN apache@example.com<br />
734 AuthLDAPBindPassword password<br />
735 AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
736 </code></p></div>
737
738     <p>Les utilisateurs devront s'authentifier en entrant leur UPN, de
739     la forme<em>untel@nz.example.com</em>.</p>
740
741 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
742 <div class="section">
743 <h2><a name="frontpage" id="frontpage">Utilisation de Microsoft
744     FrontPage avec mod_authnz_ldap</a></h2>
745
746     <p>Normalement, FrontPage utilise des fichiers utilisateur/groupe
747     spécifiques à FrontPage-web (c'est à dire les modules
748     <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et
749     <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>) pour effectuer toute
750     l'authentification. Malheureusement, il ne suffit pas de modifier
751     l'authentification LDAP en ajoutant les directives appropriées, car
752     ceci corromprait les formulaires de <em>Permissions</em> dans le
753     client FrontPage, qui sont censés modifier les fichiers
754     d'autorisation standards au format texte.</p>
755
756     <p>Lorsqu'un site web FrontPage a été créé, lui adjoindre
757     l'authentification LDAP consiste à ajouter les directives suivantes
758     à <em>chaque</em> fichier <code>.htaccess</code> qui sera créé dans
759     le site web :</p>
760 <div class="example"><pre>
761 AuthLDAPURL            "l'url"
762 AuthGroupFile <em>mon-fichier-de-groupes</em>
763 Require group <em>mon-fichier-de-groupes</em>
764 </pre></div>
765
766 <h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3>
767
768     <p>FrontPage restreint l'accès à un site web en ajoutant la
769     directive <code>Require valid-user</code> aux fichiers
770     <code>.htaccess</code>. La directive <code>Require valid-user</code>
771     permettra l'accès à tout utilisateur valide <em>du point de vue
772     LDAP</em>. Cela signifie que tout utilisateur possédant une entrée
773     dans l'annuaire LDAP sera considéré comme valide, alors que
774     FrontPage ne considère comme valides que les utilisateurs
775     enregistrés dans le fichier des utilisateurs local. En remplaçant
776     l'autorisation par groupe LDAP par une autorisation par fichier de
777     groupe, Apache sera en mesure de consulter le fichier des
778     utilisateurs local (géré par FrontPage) - au lieu de l'annuaire LDAP
779     - lors du processus d'autorisation des utilisateurs.</p>
780
781     <p>Une fois les directives ajoutées selon ce qui précède, les
782     utilisateurs FrontPage pourront effectuer toutes les opérations de
783     gestion à partir du client FrontPage.</p>
784
785
786 <h3><a name="fpcaveats" id="fpcaveats">Avertissements</a></h3>
787
788     <ul>
789       <li>Lors du choix de l'URL LDAP, l'attribut à utiliser pour
790       l'authentification doit aussi être valide pour le fichier des
791       utilisateurs de <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. A cette fin,
792       l'UID est idéal.</li>
793
794       <li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les
795       administrateurs de FrontPage doivent choisir des noms
796       d'utilisateurs qui existent déjà dans l'annuaire LDAP (pour des
797       raisons évidentes). De même, le mot de passe que l'administrateur
798       entre dans le formulaire est ignoré, car pour l'authentification,
799       Apache utilise le mot de passe de l'annuaire LDAP, et non le mot
800       de passe enregistré dans le fichier des utilisateurs, ce qui peut
801       semer la confusion parmi les administrateurs web.</li>
802
803       
804       <li>Pour supporter FrontPage, Apache doit être compilé avec
805       <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>
806       et <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>. Ceci est dû au fait
807       qu'Apache doit utiliser le fichier de groupes de
808       <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> pour déterminer le niveau
809       d'accès d'un utilisateur au site web FrontPage.</li>
810
811       <li>Les directives doivent être placées dans les fichiers
812       <code>.htaccess</code>. Elles ne fonctionneront pas si vous les
813       placez dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>. Ceci est dû au fait que pour savoir
814       où se trouve la liste des utilisateurs valides,
815       <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> doit être en mesure d'atteindre
816       la directive <code class="directive"><a href="../mod/mod_authn_file.html#authgroupfile">AuthGroupFile</a></code> qui se trouve
817       dans les fichiers <code>.htaccess</code> de FrontPage. Si les directives
818       de <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sont pas situées dans le
819       même fichier <code>.htaccess</code> que les directives FrontPage,
820       la configuration ne fonctionnera pas, car
821       <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sera jamais en mesure de
822       traiter le fichier <code>.htaccess</code>, et par conséquent ne
823       pourra jamais trouver le fichier des utilisateurs géré par
824       FrontPage.</li>
825     </ul>
826
827 </div>
828 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
829 <div class="directive-section"><h2><a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</a> <a name="authldapbinddn" id="authldapbinddn">Directive</a></h2>
830 <table class="directive">
831 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Un DN optionnel pour se connecter au serveur
832 LDAP</td></tr>
833 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindDN <em>dn</em></code></td></tr>
834 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
835 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
836 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
837 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
838 </table>
839     <p>Cette directive permet de définir un DN optionnel pour se
840     connecter au serveur afin d'y rechercher des entrées. Si aucun DN
841     n'est spécifié, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera une
842     connexion anonyme.</p>
843
844 </div>
845 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
846 <div class="directive-section"><h2><a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a> <a name="authldapbindpassword" id="authldapbindpassword">Directive</a></h2>
847 <table class="directive">
848 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mot de passe à utiliser en conjonction avec le DN de
849 connexion</td></tr>
850 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindPassword <em>mot-de-passe</em></code></td></tr>
851 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
852 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
853 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
854 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
855 </table>
856     <p>Cette directive permet de spécifier un mot de passe à utiliser en
857     conjonction avec le DN de connexion. Notez que ce mot de passe
858     constitue en général une donnée sensible, et doit donc être protégé
859     de manière appropriée. Vous ne devez utiliser les directives
860     <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code> et <code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code> que si
861     vous en avez vraiment besoin pour effectuer une recherche dans
862     l'annuaire.</p>
863
864 </div>
865 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
866 <div class="directive-section"><h2><a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</a> <a name="authldapcharsetconfig" id="authldapcharsetconfig">Directive</a></h2>
867 <table class="directive">
868 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de configuration de la correspondance
869 langage/jeu de caractères</td></tr>
870 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCharsetConfig <em>chemin-fichier</em></code></td></tr>
871 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
872 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
873 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
874 </table>
875     <p>La directive <code class="directive">AuthLDAPCharsetConfig</code> permet
876     de définir le chemin du fichier de configuration de la
877     correspondance langage/jeu de caractères. <var>chemin-fichier</var>
878     est un chemin relatif au répertoire défini par la directive
879     <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Ce fichier contient une liste
880     de correspondances extension de langage/jeu de caractères. La
881     plupart des administrateurs utilisent le fichier
882     <code>charset.conv</code> fourni qui associe les extensions de
883     langage courantes à leurs jeux de caractères.</p>
884
885     <p>Le fichier contient des lignes au format suivant :</p>
886
887     <div class="example"><p><code>
888       <var>extension de langage</var> <var>jeu de caractères</var>
889       [<var>Nom du langage</var>] ...
890     </code></p></div>
891
892     <p>L'extension est insensible à la casse. Les lignes vides et les
893     lignes commençant par un dièse (<code>#</code>) sont ignorées.</p>
894
895 </div>
896 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
897 <div class="directive-section"><h2><a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</a> <a name="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a></h2>
898 <table class="directive">
899 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le serveur LDAP pour comparer les DNs</td></tr>
900 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareDNOnServer on|off</code></td></tr>
901 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareDNOnServer on</code></td></tr>
902 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
903 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
904 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
905 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
906 </table>
907     <p>Lorsque cette directive est définie à on,
908     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise le serveur LDAP pour
909     comparer les DNs. Il s'agit de la seule méthode infaillible pour
910     comparer les DNs. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va rechercher
911     dans l'annuaire le DN spécifié par la directive <a href="#reqdn"><code>Require dn</code></a>, puis extraire ce DN et le
912     comparer avec le DN extrait de l'entrée de l'utilisateur. Si cette
913     directive est à off, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> effectue une
914     simple comparaison de chaînes. Cette dernière approche peut produire
915     des faux négatifs, mais elle est beaucoup plus rapide. Notez
916     cependant que le cache de <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> peut accélérer
917     la comparaison de DNs dans la plupart des situations.</p>
918
919 </div>
920 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
921 <div class="directive-section"><h2><a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a> <a name="authldapdereferencealiases" id="authldapdereferencealiases">Directive</a></h2>
922 <table class="directive">
923 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>À quel moment le module va déréférencer les
924 alias</td></tr>
925 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPDereferenceAliases never|searching|finding|always</code></td></tr>
926 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPDereferenceAliases always</code></td></tr>
927 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
928 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
929 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
930 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
931 </table>
932     <p>Cette directive permet de spécifier à quel moment
933     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va déréférencer les alias au cours
934     des opérations liées à LDAP. La valeur par défaut est
935     <code>always</code>.</p>
936
937 </div>
938 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
939 <div class="directive-section"><h2><a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a> <a name="authldapgroupattribute" id="authldapgroupattribute">Directive</a></h2>
940 <table class="directive">
941 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'attribut LDAP utilisé pour vérifier l'appartenance d'un
942 utilisateur à un groupe.</td></tr>
943 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttribute <em>attribut</em></code></td></tr>
944 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
945 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
946 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
947 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
948 </table>
949     <p>Cette directive permet de spécifier quel attribut LDAP est
950     utilisé pour vérifier l'appartenance d'un utilisateur à un
951     groupe. On peut spécifier plusieurs attributs en répétant cette
952     directive plusieurs fois. Si la directive n'est pas définie,
953     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
954     <code>member</code> et <code>uniquemember</code>.</p>
955
956 </div>
957 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
958 <div class="directive-section"><h2><a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</a> <a name="authldapgroupattributeisdn" id="authldapgroupattributeisdn">Directive</a></h2>
959 <table class="directive">
960 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour vérifier son
961 appartenance à un groupe</td></tr>
962 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttributeIsDN on|off</code></td></tr>
963 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttributeIsDN on</code></td></tr>
964 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
965 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
966 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
967 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
968 </table>
969     <p>Lorsqu'elle est définie à <code>on</code>, cette directive
970     indique que c'est le DN de l'utilisateur qui doit être utilisé pour
971     vérifier son appartenance à un groupe. Dans le cas contraire, c'est
972     le nom de l'utilisateur qui sera utilisé. Par exemple, supposons que
973     le client envoie le nom d'utilisateur <code>bjenson</code>, qui
974     correspond au DN LDAP <code>cn=Babs Jenson,o=Airius</code>. Si la
975     directive est à <code>on</code>, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va
976     vérifier si <code>cn=Babs Jenson, o=Airius</code> est un membre du
977     groupe. Dans le cas contraire, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
978     vérifiera si <code>bjenson</code> est un membre du groupe.</p>
979
980 </div>
981 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
982 <div class="directive-section"><h2><a name="AuthLDAPMaxSubGroupDepth" id="AuthLDAPMaxSubGroupDepth">AuthLDAPMaxSubGroupDepth</a> <a name="authldapmaxsubgroupdepth" id="authldapmaxsubgroupdepth">Directive</a></h2>
983 <table class="directive">
984 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie la profondeur d'imbrication des sous-groupes
985 maximale prise en compte avant l'abandon de la recherche de
986 l'utilisateur.</td></tr>
987 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPMaxSubGroupDepth <var>Nombre</var></code></td></tr>
988 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPMaxSubGroupDepth 10</code></td></tr>
989 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
990 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
991 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
992 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
993 </table>
994    <p>Lorsque cette directive est définie à une valeur <code>X</code>
995    non nulle, en combinaison avec l'utilisation de la directive
996    <code>Require ldap-group DN-groupe</code>, les données de connexion
997    fournies seront utilisées pour vérifier l'appartenance de
998    l'utilisateur à l'objet de l'annuaire <code>DN-groupe</code> ou à
999    tout sous-groupe du groupe courant en tenant compte de la profondeur
1000    d'imbrication maximale <code>X</code> spécifiée par la directive.</p>
1001    <p>Se référer à la section <a href="#reqgroup"><code>Require
1002    ldap-group</code></a> pour un exemple plus détaillé.</p>
1003
1004 </div>
1005 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1006 <div class="directive-section"><h2><a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a> <a name="authldapremoteuserattribute" id="authldapremoteuserattribute">Directive</a></h2>
1007 <table class="directive">
1008 <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
1009 requête de l'utilisateur sera utilisée pour définir la variable
1010 d'environnement REMOTE_USER</td></tr>
1011 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserAttribute uid</code></td></tr>
1012 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
1013 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1014 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
1015 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1016 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
1017 </table>
1018     <p>Lorsque cette directive est définie, la variable d'environnement
1019     <code>REMOTE_USER</code> sera définie à la valeur de l'attribut
1020     spécifié. Assurez-vous que cet attribut soit bien inclus dans la
1021     liste d'attributs spécifiés dans la définition de AuthLDAPUrl ; dans
1022     le cas contraire, cette directive n'aurait aucun effet. Si elle est
1023     présente, cette directive l'emporte sur AuthLDAPRemoteUserIsDN. Elle
1024     peut s'avérer utile par exemple, si vous souhaitez que les
1025     utilisateurs se connectent à un site web en utilisant leur adresse
1026     email, alors qu'une application sous-jacente nécessite un nom
1027     d'utilisateur comme identifiant.</p>
1028
1029 </div>
1030 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1031 <div class="directive-section"><h2><a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</a> <a name="authldapremoteuserisdn" id="authldapremoteuserisdn">Directive</a></h2>
1032 <table class="directive">
1033 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour définir la variable
1034 d'environnement REMOTE_USER</td></tr>
1035 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserIsDN on|off</code></td></tr>
1036 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPRemoteUserIsDN off</code></td></tr>
1037 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1038 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
1039 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1040 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
1041 </table>
1042     <p>Lorsque cette directive est à on, la variable d'environnement
1043     <code>REMOTE_USER</code> sera définie avec la valeur du DN complet
1044     de l'utilisateur authentifié, et non plus avec simplement le nom
1045     d'utilisateur fourni par le client. Elle est définie à off par
1046     défaut.</p>
1047
1048 </div>
1049 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1050 <div class="directive-section"><h2><a name="AuthLDAPSubGroupAttribute" id="AuthLDAPSubGroupAttribute">AuthLDAPSubGroupAttribute</a> <a name="authldapsubgroupattribute" id="authldapsubgroupattribute">Directive</a></h2>
1051 <table class="directive">
1052 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les noms d'attribut, un par directive, utilisés
1053 pour différencier les membres du groupe courant qui sont eux-mêmes des
1054 groupes.</td></tr>
1055 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupAttribute <em>attribut</em></code></td></tr>
1056 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1057 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
1058 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1059 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
1060 </table>
1061     <p>Un objet groupe LDAP peut contenir des membres qui sont des
1062     utilisateurs et des membres qui sont eux-mêmes des groupes (appelés
1063     sous-groupes ou groupes imbriqués). La directive
1064     <code>AuthLDAPSubGroupAttribute</code> spécifie l'attribut utilisé
1065     pour identifier les groupes, alors que la directive
1066     <code>AuthLDAPGroupAttribute</code> spécifie l'attribut utilisé
1067     pour identifier les utilisateurs. On peut spécifier plusieurs
1068     attributs en répétant la directive plusieurs fois. Si elle n'est pas
1069     définie, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
1070     <code>member</code> et <code>uniqueMember</code>.</p>
1071
1072 </div>
1073 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1074 <div class="directive-section"><h2><a name="AuthLDAPSubGroupClass" id="AuthLDAPSubGroupClass">AuthLDAPSubGroupClass</a> <a name="authldapsubgroupclass" id="authldapsubgroupclass">Directive</a></h2>
1075 <table class="directive">
1076 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie quelles valeurs d'objectClass LDAP identifient les
1077 objets de l'annuaire qui sont des groupes au cours du traitement des
1078 sous-groupes.</td></tr>
1079 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></code></td></tr>
1080 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1081 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
1082 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1083 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
1084 </table>
1085     <p>Un objet groupe LDAP peut contenir des membres qui sont des
1086     utilisateurs et des membres qui sont eux-mêmes des groupes (appelés
1087     sous-groupes ou groupes imbriqués). La directive
1088     <code>AuthLDAPSubGroupAttribute</code> permet d'identifier les
1089     membres qui sont des sous-groupes du groupe courant (à l'opposé des
1090     membres utilisateurs). La directive
1091     <code>AuthLDAPSubGroupClass</code> permet de spécifier les valeurs
1092     d'objectClass LDAP utilisées pour vérifier que certains membres sont
1093     en fait des objets groupe. Les sous-groupes ainsi identifiés peuvent
1094     alors faire l'objet d'une recherche d'autres membres utilisateurs ou
1095     sous-groupes. On peut spécifier plusieurs attributs en répétant
1096     cette directive plusieurs fois. Si cette directive n'est pas
1097     définie, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
1098     <code>groupOfNames</code> et <code>groupOfUniqueNames</code>.</p>
1099
1100 </div>
1101 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1102 <div class="directive-section"><h2><a name="AuthLDAPUrl" id="AuthLDAPUrl">AuthLDAPUrl</a> <a name="authldapurl" id="authldapurl">Directive</a></h2>
1103 <table class="directive">
1104 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL permettant de spécifier les paramètres de la
1105 recherche LDAP</td></tr>
1106 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></code></td></tr>
1107 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1108 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
1109 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1110 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
1111 </table>
1112     <p>Une URL conforme à la RFC 2255 qui permet de spécifier les
1113     paramètres à utiliser pour la recherche dans l'annuaire LDAP. La
1114     syntaxe de l'URL est :</p>
1115 <div class="example"><p><code>ldap://hôte:port/DN-de-base?attribut?portée?filtre</code></p></div>
1116     <p>Si vous souhaitez mettre à la disposition d'Apache plusieurs URLs
1117     LDAP, la syntaxe sera :</p>
1118 <div class="example"><p><code>AuthLDAPUrl "ldap://ldap1.example.com
1119 ldap2.example.com/dc=..."</code></p></div>
1120 <p><em><strong>Mise en garde : </strong>Si vous spécifiez plusieurs
1121 serveurs, vous devez en entourer la liste avec des guillemets ; dans le
1122 cas contraire, vous générerez une erreur : "AuthLDAPURL takes one
1123 argument, URL to define LDAP connection..".</em> Vous pouvez bien
1124 entendu ajouter des paramètres de recherche à chacun des serveurs
1125 spécifiés.</p>
1126
1127 <dl>
1128 <dt>ldap</dt>
1129
1130         <dd>Pour ldap non sécurisé, utilisez la chaîne
1131         <code>ldap</code>. Pour ldap sécurisé, utilisez à la place la
1132         chaîne <code>ldaps</code>. LDAP sécurisé n'est disponible que si
1133         Apache a été lié avec une bibliothèque LDAP supportant SSL.</dd>
1134
1135 <dt>hôte:port</dt>
1136
1137         <dd>
1138           <p>Il s'agit du nom/port du serveur ldap
1139           (dont la valeur par défaut est
1140           <code>localhost:389</code> pour <code>ldap</code>, et
1141           <code>localhost:636</code> pour <code>ldaps</code>). Pour
1142           spécifier plusieurs serveurs LDAP redondants, indiquez
1143           simplement leur liste en les séparant par des espaces.
1144           <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera alors de se connecter
1145           à chacun des serveurs jusqu'à ce qu'il parvienne à se
1146           connecter avec succès. Notez qu'en cas de multiples serveurs
1147           LDAP, l'ensemble de l'URL LDAP doit être entourée de
1148           guillemets.</p>
1149
1150           <p>lorsqu'une connection a été établie avec un serveur, elle
1151           reste active pendant toute la durée de vie du processus
1152           <code class="program"><a href="../programs/httpd.html">httpd</a></code>, ou jusqu'à ce que le serveur LDAP
1153           cesse de fonctionner.</p>
1154
1155           <p>Si le serveur LDAP cesse de fonctionner, et ainsi
1156           interrompt une
1157           connexion existante, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera
1158           de se reconnecter en commençant par le premier serveur de la
1159           liste, et ainsi de suite avec les serveurs redondants
1160           suivants. Notez que ce processus n'a rien à voir avec une
1161           véritable recherche de type round-robin.</p>
1162         </dd>
1163
1164 <dt>DN-de-base</dt>
1165         <dd>Le DN de la branche de l'annuaire à partir de laquelle
1166         toutes les recherches seront lancées. Il doit au moins
1167         correspondre à la racine de votre annuaire, mais vous pouvez
1168         aussi indiquer une branche plus spécifique.</dd>
1169
1170 <dt>attribut</dt>
1171
1172         <dd>Il s'agit de l'attribut à utiliser pour la recherche.
1173         Bien que la RFC
1174         2255 autorise une liste d'attributs séparés par des virgules,
1175         seul le premier sera retenu, sans tenir compte des autres
1176         attributs fournis. Si aucun attribut n'est fourni, l'attribut
1177         par défaut est <code>uid</code>. Il est judicieux de choisir un
1178         attribut dont la valeur sera unique parmi toutes les entrées de
1179         la branche de l'annuaire que vous aurez définie. Tous les
1180         attributs spécifiés seront enregistrés dans des variables
1181         d'environnement avec le préfixe AUTHENTICATE_, afin de pouvoir
1182         être utilisés par d'autres modules.</dd>
1183
1184 <dt>portée</dt>
1185
1186         <dd>Il s'agit de la portée de la recherche. Elle peut prendre
1187         les valeurs <code>one</code> ou <code>sub</code>. Notez que la
1188         RFC 2255 supporte aussi une portée de valeur <code>base</code>,
1189         mais cette dernière n'est pas supportée par le module. Si la
1190         portée n'est pas définie, ou si elle est définie à
1191         <code>base</code>, c'est la valeur de portée par défaut
1192         <code>sub</code> qui sera utilisée.</dd>
1193
1194 <dt>filtre</dt>
1195
1196         <dd>Il s'agit d'un filtre de recherche LDAP valide. Si aucun
1197         filtre n'est spécifié, le filtre par défaut
1198         <code>(objectClass=*)</code> sera utilisé, ce qui corrspond à
1199         une recherche de tous les types d'objets de l'arborescence. La
1200         taille des filtres est limitée à environ 8000 caractères (valeur
1201         de la macro <code>MAX_STRING_LEN</code> dans le code source
1202         d'Apache), ce qui s'avère plus que suffisant pour la plupart des
1203         applications.</dd>
1204 </dl>
1205
1206     <p>Pour une recherche, les attribut, filtre et nom d'utilisateur
1207     fournis par le client HTTP sont combinés pour créer un filtre de
1208     recherche du style :
1209     <code>(&amp;(<em>filtre</em>)(<em>attribut</em>
1210     =<em>nom-utilisateur</em>))</code>.</p>
1211
1212     <p>Par exemple, considérons l'URL
1213     <code>ldap://ldap.airius.com/o=Airius?cn?sub?(posixid=*)</code>.
1214     Lorsqu'un client tentera de se connecter en utilisant le nom
1215     d'utilisateur <code>Babs Jenson</code>, le filtre de recherche sera
1216     : <code>(&amp;(posixid=*)(cn=Babs Jenson))</code>.</p>
1217
1218     <p>On peut encore ajouter un paramètre optionnel pour permettre à
1219     l'URL LDAP de surcharger le type de connexion. Ce paramètre peut
1220     prendre l'une des valeurs suivantes :</p>
1221
1222 <dl>
1223     <dt>NONE</dt>
1224         <dd>Établit une connexion non sécurisée sur le port LDAP par
1225         défaut, ce qui est équivalent à <code>ldap://</code> sur le port
1226         389.</dd>
1227     <dt>SSL</dt>
1228         <dd>Établit une connexion sécurisée sur le port LDAP sécurisé
1229         par défaut, ce qui est équivalent à <code>ldaps://</code>.</dd>
1230     <dt>TLS | STARTTLS</dt>
1231         <dd>Établit une connexion sécurisée par élévation de niveau sur
1232         le port LDAP par défaut. Cette connexion sera initialisée sur le
1233         port 389 par défaut, puis élevée à un niveau de connexion
1234         sécurisée sur le même port.</dd>
1235 </dl>
1236
1237     <p>Voir plus haut pour des exemples d'URLs définies par la directive
1238     <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
1239
1240 </div>
1241 </div>
1242 <div class="bottomlang">
1243 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
1244 <a href="../fr/mod/mod_authnz_ldap.html" title="Français">&nbsp;fr&nbsp;</a></p>
1245 </div><div id="footer">
1246 <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>
1247 <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>
1248 </body></html>