1
0
mirror of https://github.com/apache/httpd.git synced 2025-07-10 08:01:00 +03:00
Files
apache/docs/manual/mod/mod_authnz_ldap.html.fr
Lucien Gentis 45c2de30c3 Rebuild.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1741777 13f79535-47bb-0310-9956-ffa450edef68
2016-04-30 15:06:31 +00:00

1636 lines
93 KiB
Plaintext
Raw Blame History

<?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>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_authnz_ldap - Serveur Apache HTTP Version 2.5</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/quickreference.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.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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.5</a> &gt; <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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_authnz_ldap.html" title="Fran<61>ais">&nbsp;fr&nbsp;</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<75>de<64>Module:</a></th><td>authnz_ldap_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier<65>Source:</a></th><td>mod_authnz_ldap.c</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<69>s
suivantes :</p>
<ul>
<li>Support v<>rifi<66> du <a href="http://www.openldap.org/">OpenLDAP SDK</a> (versions 1.x et
2.x), du <a href="http://developer.novell.com/ndk/cldap.htm">
Novell LDAP SDK</a> et du SDK <a href="http://www.iplanet.com/downloads/developer/">iPlanet
(Netscape)</a>.</li>
<li>Impl<70>mentation de politiques d'autorisation complexes en les
d<>finissant via des filtres LDAP.</li>
<li>Mise en oeuvre d'une mise en cache des op<6F>rations LDAP
<20>labor<6F>e 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<71> en affectant la valeur <code>ldap</code> <20> la directive
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
</div>
<div id="quickview"><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="#gcaveats">Mises en garde <20> caract<63>re g<>n<EFBFBD>ral</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#operation">Mode op<6F>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 <20> disposition des informations de
connexion</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#activedirectory">Utilisation d'Active
Directory</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#frontpage">Utilisation de Microsoft
FrontPage avec mod_authnz_ldap</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li>
<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="#authldapcompareasuser">AuthLDAPCompareAsUser</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="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</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="#authldapsearchasuser">AuthLDAPSearchAsUser</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPUrl</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_authnz_ldap">Probl<62>mes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_authnz_ldap">Signaler un bug</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>
<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="#gcaveats">Mises en garde <20> caract<63>re g<>n<EFBFBD>ral</a> </li>
<li> <a href="#operation">Mode op<6F>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>
<li><a href="#reqsearch">Require ldap-search</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 <20> disposition des informations de
connexion</a></li>
<li><a href="#activedirectory">Utilisation d'Active Directory</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 <20>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="gcaveats" id="gcaveats">Mises en garde <20> caract<63>re g<>n<EFBFBD>ral</a></h2>
<p>Ce module effectue une mise en cache des r<>sultats du processus
d'authentification et d'autorisation en fonction de la configuration du
module <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Les modifications effectu<74>es au niveau
du serveur LDAP d'arri<72>re-plan comme les
verrouillages ou r<>vocations d'utilisateurs, les changements de mot de
passe, ou les changements d'appartenance <20> un groupe (et cette liste
n'est pas exhaustive), ne seront pas imm<6D>diatement propag<61>es jusqu'au
serveur HTTP. Consultez les directives du module
<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> pour plus de d<>tails <20> propos de la
configuration de la mise en cache.
</p>
</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<6F>ratoire</a></h2>
<p>L'utilisateur se voit accorder l'acc<63>s selon un processus en deux
phases. La premi<6D>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> (NdT : en anglais ou
dans le code source : <em>search/bind</em>). La deuxi<78>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<66> a la permission d'acc<63>der <20> la ressource consid<69>r<EFBFBD>e.
Elle est aussi connue sous le nom de phase de
<em>comparaison</em> (<em>compare</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 <20>tre
invoqu<71> en affectant la valeur <code>ldap</code> <20> 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/mod_authz_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<74>e de l'annuaire
LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
Si une correspondance unique est trouv<75>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<74>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 <20>tapes
constituant la phase de recherche/connexion :</p>
<ol>
<li>Confection 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
confectionn<6E> pr<70>c<EFBFBD>demment. Si le r<>sultat de la recherche est
n<>gatif ou comporte plusieurs entr<74>es, refus ou restriction de
l'acc<63>s.</li>
<li>Extraction du DN (distinguished name) de l'entr<74>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 <20>choue, refus ou restriction de
l'acc<63>s.</li>
</ol>
<p>Les directives utilis<69>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<53>cifie le serveur LDAP, le DN de base, l'attribut <20>
utiliser pour la recherche, ainsi que les filtres de recherche
suppl<70>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<69> <20> acc<63>der <20> la ressource consid<69>r<EFBFBD>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<6F>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/mod_authz_core.html#require">Require</a></code> suivantes pour
d<>terminer si les informations de connexion permettent d'accorder
l'acc<63>s <20> l'utilisateur :</p>
<ul>
<li>Avec la directive <a href="#reqgroup"><code>Require ldap-user</code></a>,
l'autorisation d'acc<63>s est accord<72>e si le nom d'utilisateur
sp<73>cifi<66> 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<63>s est accord<72>e si le DN
sp<73>cifi<66> 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<63>s est accord<72>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<73>cifi<66> par la
directive, ou <20>ventuellement <20> un de ses sous-groupes.</li>
<li>Avec la directive <a href="#reqattribute">
<code>Require ldap-attribute</code></a>, l'autorisation d'acc<63>s
est accord<72>e si la valeur de l'attribut extraite de la recherche
dans l'annuaire LDAP correspond <20> la valeur sp<73>cifi<66>e par la
directive.</li>
<li>Avec la directive <a href="#reqfilter">
<code>Require ldap-filter</code></a>, l'autorisation d'acc<63>s
est accord<72>e si le filtre de recherche renvoie un objet
utilisateur unique qui corresponde au DN de l'utilisateur
authentifi<66>.</li>
<li>Avec la directive <a href="#reqsearch">
<code>Require ldap-search</code></a>, l'autorisation d'acc<63>s
est accord<72>e si le filtre de recherche renvoie avec succ<63>s
un seul objet correspondant aux crit<69>res avec tout nom distinctif
(DN).</li>
<li>dans tous les autres cas, refus ou restriction de
l'acc<63>s.</li>
</ul>
<p>Sous r<>serve du chargement de modules d'autorisation
suppl<70>mentaires, d'autres valeurs de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> peuvent <20>tre
sp<73>cifi<66>es.</p>
<ul>
<li>L'acc<63>s est accord<72> <20> tous les utilisateurs authentifi<66>s si
une directive <a href="#requser"><code>Require
valid-user</code></a> est pr<70>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<63>s est accord<72>e si le module
<code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> a <20>t<EFBFBD> charg<72> et si la
directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> a <20>t<EFBFBD>
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<73>cifi<66> dans l'URL pour les
op<6F>rations de comparaison initi<74>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<69> pour les op<6F>rations de
comparaison initi<74>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<53>cifie si l'on doit utiliser le DN ou le nom de
l'utilisateur lors des op<6F>rations de comparaison initi<74>es par la
directive <code>Require ldap-group</code>.</td>
</tr>
<tr>
<td><code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code></td>
<td>D<>termine la profondeur maximale de l'arborescence des
sous-groupes qui seront <20>valu<6C>s au cours des op<6F>rations de
comparaisons initi<74>es par la directive <code>Require
ldap-group</code>.</td>
</tr>
<tr>
<td><code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code></td>
<td>D<>termine l'attribut <20> utiliser lors de l'extraction de
membres de sous-groupes du groupe courant au cours des
op<6F>rations de comparaison initi<74>es par la directive
<code>Require ldap-group</code>.</td>
</tr>
<tr>
<td><code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code></td>
<td>Sp<53>cifie les valeurs de classe d'objet LDAP <20> utiliser pour
d<>terminer si les objets extraits de l'annuaire sont bien des
objets de type groupe (et non des objets de type utilisateur),
au cours du traitement des sous-groupes initi<74> 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/mod_authz_core.html#require">Require</a></code> d'Apache sont utilis<69>es
au cours de la phase d'autorisation afin de s'assurer que
l'utilisateur est autoris<69> <20> acc<63>der <20> 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<70>mentaires.</p>
<p>A partir de la version 2.4.8, les directives require LDAP
supportent les <a href="../expr.html">expressions</a>.</p>
<h3><a name="requser" id="requser">Require ldap-user</a></h3>
<p>La directive <code>Require ldap-user</code> permet de sp<73>cifier
les noms des utilisateurs autoris<69>s <20> acc<63>der <20> 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<6F>ration de comparaison LDAP en
utilisant le nom d'utilisateur sp<73>cifi<66> par la directive
<code>Require ldap-user</code>, pour v<>rifier si ce nom
d'utilisateur correspond <20> l'entr<74>e LDAP extraite. On peut accorder
l'acc<63>s <20> plusieurs utilisateurs en pla<6C>ant plusieurs nom
d'utilisateurs sur la m<>me ligne s<>par<61>s par des espaces. Si un nom
d'utilisateur contient des espaces, il doit <20>tre entour<75> de
guillemets. On peut aussi accorder l'acc<63>s <20> 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 <20>
<code>ldap://ldap/o=Example?cn</code> (sp<73>cifiant donc que l'attribut
<code>cn</code> sera utilis<69> pour les recherches), on pourra
utiliser les directives Require suivantes pour restreindre l'acc<63>s
:</p>
<pre class="prettyprint lang-config">Require ldap-user "Barbara Jenson"
Require ldap-user "Fred User"
Require ldap-user "Joe Manager"</pre>
<p>De par la mani<6E>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<74>e dans l'annuaire
LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour
toutes les valeurs de l'attribut dans l'entr<74>e LDAP de
l'utilisateur.</p>
<p>Si l'attribut <code>uid</code> avait <20>t<EFBFBD> sp<73>cifi<66> <20> la place de
l'attribut <code>cn</code> dans l'URL pr<70>c<EFBFBD>dente, les trois lignes
ci-dessus auraient p<> <20>tre condens<6E>es en une seule ligne :</p>
<pre class="prettyprint lang-config">Require ldap-user bjenson fuser jmanager</pre>
<h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3>
<p>Cette directive permet de sp<73>cifier un groupe LDAP dont les
membres auront l'autorisation d'acc<63>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<74>e suivante existe dans
l'annuaire LDAP :</p>
<div class="example"><pre>dn: cn=Administrators, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Barbara Jenson, o=Example
uniqueMember: cn=Fred User, o=Example</pre></div>
<p>La directive suivante autoriserait alors l'acc<63>s <20> Fred et
Barbara :</p>
<pre class="prettyprint lang-config">Require ldap-group cn=Administrators, o=Example</pre>
<p>Les membres peuvent aussi se trouver dans les sous-groupes du
groupe LDAP sp<73>cifi<66> si la directive <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code> a <20>t<EFBFBD>
d<>finie <20> une valeur sup<75>rieure <20> 0. Par exemple, supposons que les
entr<74>es suivantes existent dans l'annuaire LDAP :</p>
<div class="example"><pre>dn: cn=Employees, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Managers, o=Example
uniqueMember: cn=Administrators, o=Example
uniqueMember: cn=Users, o=Example
dn: cn=Managers, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Bob Ellis, o=Example
uniqueMember: cn=Tom Jackson, o=Example
dn: cn=Administrators, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Barbara Jenson, o=Example
uniqueMember: cn=Fred User, o=Example
dn: cn=Users, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Allan Jefferson, o=Example
uniqueMember: cn=Paul Tilley, o=Example
uniqueMember: cn=Temporary Employees, o=Example
dn: cn=Temporary Employees, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Jim Swenson, o=Example
uniqueMember: cn=Elliot Rhodes, o=Example</pre></div>
<p>Les directives suivantes autoriseraient alors l'acc<63>s <20> Bob
Ellis, Tom Jackson, Barbara Jenson, Fred User, Allan Jefferson, et
Paul Tilley, mais l'interdiraient <20> Jim Swenson, ou Elliot Rhodes
(car ils sont situ<74>s dans un sous-groupe de niveau de profondeur 2)
:</p>
<pre class="prettyprint lang-config">Require ldap-group cn=Employees, o=Example
AuthLDAPMaxSubGroupDepth 1</pre>
<p>Le comportement de cette directive est modifi<66> par les directives
<code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code>,
<code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code>,
<code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code>,
<code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code>, et
<code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code>.</p>
<h3><a name="reqdn" id="reqdn">Require ldap-dn</a></h3>
<p>La directive <code>Require ldap-dn</code> permet <20>
l'administrateur d'accorder l'utorisation d'acc<63>s en fonction du DN.
Elle permet de sp<73>cifier un DN pour lequel l'acc<63>s est autoris<69>. Si
le DN extrait de
l'annuaire correspond au DN sp<73>cifi<66> par la directive <code>Require
ldap-dn</code>, l'autorisation d'acc<63>s est accord<72>e. Note :
n'entourez pas Le DN de guillemets.</p>
<p>La directive suivante accorderait l'acc<63>s <20> un DN sp<73>cifique
:</p>
<pre class="prettyprint lang-config">Require ldap-dn cn=Barbara Jenson, o=Example</pre>
<p>Le comportement ce cette directive est modifi<66> 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 <20>
l'administrateur d'accorder l'autorisation d'acc<63>s en fonction des
attributs de l'utilisateur authentifi<66> dans l'annuaire LDAP. Si la
valeur de l'attribut dans l'annuaire correspond <20> la valeur
sp<73>cifi<66>e par la directive, l'autorisation d'acc<63>s est accord<72>e.</p>
<p>La directive suivante accorderait l'autorisation d'acc<63>s <20> tout
utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
<pre class="prettyprint lang-config">Require ldap-attribute
"employeeType=active"</pre>
<p>Plusieurs paires attribut/valeur peuvent <20>tre sp<73>cifi<66>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 <20> une liste de paires attribut/valeur est une op<6F>ration
OU. L'autorisation d'acc<63>s sera accord<72>e si au moins une paire
attribut/valeur de la liste sp<73>cifi<66>e correspond <20> la paire
attribut/valeur de l'utilisateur authentifi<66>. Si elle contient des
espaces, la valeur, et seulement la valeur, doit <20>tre entour<75>e de
guillemets.</p>
<p>La directive suivante accorderait l'autorisation d'acc<63>s <20> tout
utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
donc l'attribut status aurait pour valeur "actif" :</p>
<pre class="prettyprint lang-config">Require ldap-attribute city="San Jose"
"status=active"</pre>
<h3><a name="reqfilter" id="reqfilter">Require ldap-filter</a></h3>
<p>La directive <code>Require ldap-filter</code> permet <20>
l'administrateur d'accorder l'autorisation d'acc<63>s en fonction d'un
filtre de recherche LDAP complexe. L'autorisation d'acc<63>s est
accord<72>e si le DN renvoy<6F> par le filtre de recherche correspond au
DN de l'utilisateur authentifi<66>.</p>
<p>La directive suivante accorderait l'autorisation d'acc<63>s <20> tout
utilisateur poss<73>dant un t<>l<EFBFBD>phone cellulaire et faisant partie du
d<>partement "marketing" :</p>
<pre class="prettyprint lang-config">Require ldap-filter
"&amp;(cell=*)(department=marketing)"</pre>
<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<6F>ration de recherche
dans l'annuaire LDAP en utilisant le filtre de recherche sp<73>cifi<66>.
Si une simple comparaison d'attributs suffit, l'op<6F>ration de
comparaison effectu<74>e par <code>ldap-attribute</code> sera plus
rapide que l'op<6F>ration de recherche effectu<74>e par
<code>ldap-filter</code>, en particulier dans le cas d'un annuaire
LDAP de grande taille.</p>
<p>Lorsqu'on utilise une <a href="../expr.html">expression
rationnelle</a> au sein d'un filtre, il faut bien s'assurer que les
filtres LDAP sont correctement <20>chapp<70>s afin de se pr<70>munir contre
toute injection LDAP. A cet effet, il est possible d'utiliser la
fonction ldap.</p>
<pre class="prettyprint lang-config">&lt;LocationMatch "^/dav/(?&lt;SITENAME&gt;[^/]+)/"&gt;
Require ldap-filter
"(memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example)"
&lt;/LocationMatch&gt;</pre>
<h3><a name="reqsearch" id="reqsearch">Require ldap-search</a></h3>
<p>La directive <code>Require ldap-search</code> permet <20>
l'administrateur d'autoriser l'acc<63>s en fonction d'un filtre de
recherche LDAP g<>n<EFBFBD>rique contenant une <a href="../expr.html">expression rationnelle</a>. Si le filtre de
recherche renvoie une et une seule correspondance, l'acc<63>s est
accord<72> sans tenir compte du DN.</p>
<p>La directive suivante accorderait l'acc<63>s aux URLs correspondant
aux objets sp<73>cifi<66>s dans le serveur LDAP :</p>
<pre class="prettyprint lang-config">&lt;LocationMatch "^/dav/(?&lt;SITENAME&gt;[^/]+)/"&gt;
Require ldap-search "(cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}}
Website)"
&lt;/LocationMatch&gt;</pre>
<p>Note : il faut bien s'assurer que les
expressions sont correctement <20>chapp<70>s afin de se pr<70>munir contre
toute injection LDAP. A cet effet, il est possible d'utiliser la
fonction <strong>ldap</strong> comme dans l'exemple ci-dessus.</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<63>s <20> tout utilisateur pr<70>sent dans
l'annuaire LDAP, en utilisant son UID pour effectuer la
recherche :
<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)"
Require valid-user</pre>
</li>
<li>
L'exemple suivant est similaire au pr<70>c<EFBFBD>dent, mais les champs
dont les valeurs par d<>faut conviennent sont omis. Notez aussi
la pr<70>sence d'un annuaire LDAP redondant :
<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example"
Require valid-user</pre>
</li>
<li>
Encore un exemple similaire aux pr<70>c<EFBFBD>dents, mais cette fois,
c'est l'attribut cn qui est utilis<69> pour la recherche <20> la place
de l'UID. Notez que ceci peut poser probl<62>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<74>e et une seule. C'est pourquoi cette
approche n'est pas recommand<6E>e : il est pr<70>f<EFBFBD>rable de choisir un
attribut de votre annuaire dont l'unicit<69> soit garantie, comme
<code>uid</code>.
<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn"
Require valid-user</pre>
</li>
<li>
Accorde l'autorisation d'acc<63>s <20> tout utilisateur appartenant au
groupe Administrateurs. Les utilisateurs doivent s'authentifier
en utilisant leur UID :
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid
Require ldap-group cn=Administrators, o=Example</pre>
</li>
<li>
Accorde l'acc<63>s <20> tout utilisateur appartenant au groupe dont le
nom correspond au nom d'h<>te du serveur virtuel. Dans cet exemple,
on utilise une <a href="../expr.html">expression</a> pour
construire le filtre.
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid
Require ldap-group cn=%{SERVER_NAME}, o=Example</pre>
</li>
<li>
Pour l'exemple suivant, on suppose que tout utilisateur de chez
Example qui dispose d'un bippeur alphanum<75>rique poss<73>dera un
attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
(authentifi<66>s via leur UID) se verront accorder l'autorisation
d'acc<63>s :
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*)
Require valid-user</pre>
</li>
<li>
<p>L'exemple suivant illustre la puissance des filtres pour
effectuer des requ<71>tes complexes. Sans les filtres, il aurait
<09>t<EFBFBD> n<>cessaire de cr<63>er un nouveau groupe LDAP et de s'assurer
de la synchronisation des membres du groupe avec les
utilisateurs poss<73>dant un bippeur. Tout devient limpide avec les
filtres. Nous avons pour but d'accorder l'autorisation d'acc<63>s <20>
tout utilisateur disposant d'un bippeur ainsi qu'<27> Joe Manager
qui ne poss<73>de pas de bippeur, mais doit tout de m<>me pouvoir
acc<63>der <20> la ressource :</p>
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager))
Require valid-user</pre>
<p>Ce dernier exemple peut sembler confus au premier abord ; en
fait, il permet de mieux comprendre <20> 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 <20> :</p>
<div class="example"><p><code>(&amp;(|(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 <20> :</p>
<div class="example"><p><code>(&amp;(|(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<61>tre optionnel peut <20>tre ajout<75> <20> 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 <20>tablie via une URL du type
<em>ldap://</em> au statut de connection s<>curis<69>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<73>cifier un serveur LDAP s<>curis<69>, 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 <20> disposition des informations de
connexion</a></h2>
<p>Au cours du processus d'<em>authentification</em>, les attributs LDAP
sp<73>cifi<66>s par la directive <code class="directive"><a href="#authldapurl">authldapurl</a></code> sont enregistr<74>s
dans des variables d'environnement pr<70>fix<69>es par la cha<68>ne
"AUTHENTICATE_".</p>
<p>Au cours du processus d'<em>autorisation</em>, les attributs LDAP
sp<73>cifi<66>s par la directive <code class="directive"><a href="#authldapurl">authldapurl</a></code> sont enregistr<74>s
dans des variables d'environnement pr<70>fix<69>es par la cha<68>ne
"AUTHORIZE_".</p>
<p>Si les champs attribut contiennent le nom, le CN et le num<75>ro de
t<>l<EFBFBD>phone d'un utilisateur, un programme CGI pourra acc<63>der <20> ces
informations sans devoir effectuer une autre requ<71>te LDAP pour
les extraire de l'annuaire.</p>
<p>Ceci a pour effet de simplifier consid<69>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="activedirectory" id="activedirectory">Utilisation d'Active
Directory</a></h2>
<p>Active Directory peut supporter plusieurs domaines <20> la fois.
Pour faire la distinction entre les utilisateurs de plusieurs
domaines, on peut ajouter <20> l'entr<74>e de l'utilisateur dans
l'annuaire un identifiant appel<65> Nom
Principal d'Utilisateur (User Principle Name ou UPN). Cet UPN se
compose en g<>n<EFBFBD>ral du nom de compte de l'utilisateur, suivi du nom
du domaine consid<69>r<EFBFBD>, par exemple <em>untel@nz.example.com</em>.</p>
<p>Vous voudrez probablement configurer le module
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> afin de pouvoir authentifier les
utilisateurs de n'importe quel domaine de la for<6F>t Active Directory.
Ainsi, <em>untel@nz.example.com</em> et
<em>untel@au.example.com</em> pourront <20>tre authentifi<66>s en une
seule fois par la m<>me requ<71>te.</p>
<p>Pour y parvenir, on utilise le concept de Catalogue Global
d'Active Directory. Ce Catalogue Global est une copie en lecture
seule des attributs s<>lectionn<6E>s de tous les serveurs de la for<6F>t
Active Directory. Une requ<71>te vers le
Catalogue Global permet donc d'atteindre tous les domaines en une
seule fois, sans avoir <20> se connecter aux diff<66>rents serveurs, via
des liaisons dont certaines peuvent <20>tre lentes.</p>
<p>Lorsqu'il est activ<69>, la Catalogue Global est un serveur
d'annuaire ind<6E>pendant accessible sur le port 3268 (3269 pour SSL).
Pour rechercher un utilisateur, effectuez une recherche sur
l'attribut <em>userPrincipalName</em>, avec une base de recherche
vide, comme suit :</p>
<pre class="prettyprint lang-config">AuthLDAPBindDN apache@example.com
AuthLDAPBindPassword password
AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub</pre>
<p>Les utilisateurs devront s'authentifier en entrant leur UPN, de
la forme<em>untel@nz.example.com</em>.</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<73>cifiques <20> FrontPage-web (c'est <20> 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<72>es, car
ceci corromprait les formulaires de <em>Permissions</em> dans le
client FrontPage, qui sont cens<6E>s modifier les fichiers
d'autorisation standards au format texte.</p>
<p>Lorsqu'un site web FrontPage a <20>t<EFBFBD> cr<63><72>, lui adjoindre
l'authentification LDAP consiste <20> ajouter les directives suivantes
<20> <em>chaque</em> fichier <code>.htaccess</code> qui sera cr<63><72> dans
le site web :</p>
<pre class="prettyprint lang-config">AuthLDAPURL "the url"
AuthGroupFile "mygroupfile"
Require group "mygroupfile"</pre>
<h3><a name="howitworks" id="howitworks">Comment <20>a marche</a></h3>
<p>FrontPage restreint l'acc<63>s <20> 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<63>s <20> tout utilisateur valide <em>du point de vue
LDAP</em>. Cela signifie que tout utilisateur poss<73>dant une entr<74>e
dans l'annuaire LDAP sera consid<69>r<EFBFBD> comme valide, alors que
FrontPage ne consid<69>re comme valides que les utilisateurs
enregistr<74>s dans le fichier des utilisateurs local. En rempla<6C>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<EFBFBD> par FrontPage) - au lieu de l'annuaire LDAP
- lors du processus d'autorisation des utilisateurs.</p>
<p>Une fois les directives ajout<75>es selon ce qui pr<70>c<EFBFBD>de, les
utilisateurs FrontPage pourront effectuer toutes les op<6F>rations de
gestion <20> 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 <20> utiliser pour
l'authentification doit aussi <20>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<69>al.</li>
<li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les
administrateurs de FrontPage doivent choisir des noms
d'utilisateurs qui existent d<>j<EFBFBD> dans l'annuaire LDAP (pour des
raisons <20>videntes). De m<>me, le mot de passe que l'administrateur
entre dans le formulaire est ignor<6F>, car pour l'authentification,
Apache utilise le mot de passe de l'annuaire LDAP, et non le mot
de passe enregistr<74> dans le fichier des utilisateurs, ce qui peut
semer la confusion parmi les administrateurs web.</li>
<li>Pour supporter FrontPage, Apache doit <20>tre compil<69> 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<63>s d'un utilisateur au site web FrontPage.</li>
<li>Les directives doivent <20>tre plac<61>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">&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
o<> se trouve la liste des utilisateurs valides,
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> doit <20>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<74>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<6E>quent ne
pourra jamais trouver le fichier des utilisateurs g<>r<EFBFBD> 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="authldapauthorizeprefix" id="authldapauthorizeprefix">Directive</a> <a name="AuthLDAPAuthorizePrefix" id="AuthLDAPAuthorizePrefix">AuthLDAPAuthorizePrefix</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp<53>cifie le pr<70>fixe ajout<75> aux variables d'environnement
durant la phase d'autorisation</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPAuthorizePrefix <em>pr<70>fixe</em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPAuthorizePrefix AUTHORIZE_</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<69>:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
<p>Cette directive permet de sp<73>cifier le pr<70>fixe ajout<75> aux
variables d'environnement durant la phase d'autorisation. Si la
valeur sp<73>cifi<66>e est <em>AUTHENTICATE_</em>, les utilisateurs de ces
variables d'environnement verront les m<>mes informations, que le
serveur effectue une authentification, une autorisation, ou les
deux.</p>
<div class="note"><h3>Note</h3>
Aucune variable d'autorisation n'est d<>finie lorsqu'un utilisateur
s'est vu autoriser l'acc<63>s via la directive <code>Require
valid-user</code>.
</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="authldapbindauthoritative" id="authldapbindauthoritative">Directive</a> <a name="AuthLDAPBindAuthoritative" id="AuthLDAPBindAuthoritative">AuthLDAPBindAuthoritative</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D<>termine si l'on doit utiliser d'autres fournisseurs
d'authentification lorsque le serveur ne peut pas valider les donn<6E>es
d'authentification de l'utilisateur, alors que ce dernier poss<73>de un
DN.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindAuthoritative off|on</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPBindAuthoritative 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>Par d<>faut, des fournisseurs d'authentification sont appel<65>s
si un utilisateur ne poss<73>de pas de DN, mais ne le sont pas si
l'utilisateur poss<73>de un DN et si son mot de passe ne peut pas <20>tre
v<>rifi<66> lors d'une connexion au serveur LDAP. Si la directive
<code class="directive">AuthLDAPBindAuthoritative</code> est
d<>finie <20> <em>off</em>, d'autres modules d'authentification
configur<75>s auront une chance de valider le mot de passe de
l'utilisateur si la tentative de connexion au serveur LDAP <20>choue
pour une raison quelconque (avec les donn<6E>es d'authentification
fournies).</p>
<p>Ceci permet aux utilisateurs pr<70>sent <20> la fois dans l'annuaire
LDAP et dans un fichier <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 le compte de
l'utilisateur est verrouill<6C> ou que son mot de passe est
inutilisable pour une raison quelconque.</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">Directive</a> <a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</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<74>es. Si aucun DN
n'est sp<73>cifi<66>, <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">Directive</a> <a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mot de passe <20> 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<69>:</a></th><td><em>exec:</em> est disponible depuis la version 2.4.5 du
serveur HTTP Apache.</td></tr>
</table>
<p>Cette directive permet de sp<73>cifier un mot de passe <20> utiliser en
conjonction avec le DN de connexion. Notez que ce mot de passe
constitue en g<>n<EFBFBD>ral une donn<6E>e sensible, et doit donc <20>tre prot<6F>g<EFBFBD>
de mani<6E>re appropri<72>e. Vous ne devez utiliser les directives
<code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code> et
<code class="directive">AuthLDAPBindPassword</code> que si
vous en avez vraiment besoin pour effectuer une recherche dans
l'annuaire.</p>
<p>Si la valeur commence par exec:, la commande r<>sultante sera
ex<65>cut<75>e, et la premi<6D>re ligne renvoy<6F>e sur la sortie standard sera
utilis<69>e comme mot de passe.</p>
<pre class="prettyprint lang-config">#Mot de passe utilis<69> tel quel
AuthLDAPBindPassword secret
#Ex<45>cute /path/to/program pour obtenir le mot de passe
AuthLDAPBindPassword exec:/path/to/program
#Ex<45>cute /path/to/otherProgram avec un argument pour obtenir le mot de passe
AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"</pre>
</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">Directive</a> <a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</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<63>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<63>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<63>res. La
plupart des administrateurs utilisent le fichier
<code>charset.conv</code> fourni qui associe les extensions de
langage courantes <20> leurs jeux de caract<63>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<63>res</var>
[<var>Nom du langage</var>] ...
</code></p></div>
<p>L'extension est insensible <20> la casse. Les lignes vides et les
lignes commen<65>ant par un di<64>se (<code>#</code>) sont ignor<6F>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="authldapcompareasuser" id="authldapcompareasuser">Directive</a> <a name="AuthLDAPCompareAsUser" id="AuthLDAPCompareAsUser">AuthLDAPCompareAsUser</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation des donn<6E>es d'authentification de l'utilisateur
pour effectuer les comparaisons pour l'attribution des autorisations</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareAsUser on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPCompareAsUser 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>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit<69>:</a></th><td>Disponible depuis la version version 2.3.6</td></tr>
</table>
<p>Lorsque cette directive est d<>finie, et si
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifi<66> l'utilisateur, les
recherches LDAP pour les autorisations utilisent le nom distinctif
trouv<75> (DN) et le mot de passe d'authentification basique HTTP de
l'utilisateur authentifi<66> au lieu des donn<6E>es d'authentification
configur<75>es au niveau du serveur.</p>
<p>Les v<>rifications d'autorisation <em>ldap-attribute</em>,
<em>ldap-user</em>, et <em>ldap-group</em> (niveau simple seulement)
utilisent des comparaisons.</p>
<p>Cette directive n'a d'effet sur les comparaisons effectu<74>es au
cours des traitements de groupe imbriqu<71>s, et lorsque la directive
<code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code>
est aussi activ<69>e.</p>
<p>Cette directive ne doit <20>tre utilis<69>e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d<>di<64> via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</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="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a> <a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</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 <20> 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<73>cifi<66> 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<74>e de l'utilisateur. Si cette
directive est <20> off, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> effectue une
simple comparaison de cha<68>nes. Cette derni<6E>re approche peut produire
des 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<63>l<EFBFBD>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">Directive</a> <a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td><3E> quel moment le module va d<>r<EFBFBD>f<EFBFBD>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<73>cifier <20> quel moment
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va d<>r<EFBFBD>f<EFBFBD>rencer les alias au cours
des op<6F>rations li<6C>es <20> 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">Directive</a> <a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'attribut LDAP utilis<69> pour v<>rifier l'appartenance d'un
utilisateur <20> 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<73>cifier quel attribut LDAP est
utilis<69> pour v<>rifier l'appartenance d'un utilisateur <20> un
groupe. On peut sp<73>cifier plusieurs attributs en r<>p<EFBFBD>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">Directive</a> <a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</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 <20> 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 <20> <code>on</code>, cette directive
indique que c'est le DN de l'utilisateur qui doit <20>tre utilis<69> pour
v<>rifier son appartenance <20> un groupe. Dans le cas contraire, c'est
le nom de l'utilisateur qui sera utilis<69>. Par exemple, supposons que
le client envoie le nom d'utilisateur <code>bjenson</code>, qui
correspond au DN LDAP <code>cn=Babs Jenson,o=Example</code>. Si la
directive est <20> <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=Example</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="authldapinitialbindasuser" id="authldapinitialbindasuser">Directive</a> <a name="AuthLDAPInitialBindAsUser" id="AuthLDAPInitialBindAsUser">AuthLDAPInitialBindAsUser</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D<>termine si le serveur effectue la recherche initiale du
DN en utilisant le nom propre de l'utilisateur pour l'authentification
de base
et non de mani<6E>re anonyme, ou en utilisant des donn<6E>es d'authentification
cod<EFBFBD>es en dur pour le serveur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindAsUser off|on</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPInitialBindAsUser 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>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit<69>:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
<p>Par d<>faut, le serveur convertit le nom d'utilisateur pour
l'authentification de base en nom distinctif LDAP (DN) soit de
mani<6E>re anonyme, soit avec un couple nom/mot de passe d<>di<64>. Cette
directive permet de forcer le serveur <20> utiliser les v<>ritables nom
d'utilisateur et mot de passe fournis par l'utilisateur pour
effectuer la recherche initiale du DN.</p>
<p>Si le nom d'utilisateur ne peut pas s'authentifier directement
et n<>cessite de l<>g<EFBFBD>res modifications, voir la directive <code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code>.</p>
<p>Cette directive ne doit <20>tre utilis<69>e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d<>di<64> via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3>
On ne peut utiliser cette directive que si ce module
effectue une authentification, et n'a aucun effet si ce module
n'est utilis<69> que pour les processus d'autorisation.
</div>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code></li>
<li><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></li>
<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code></li>
<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</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="authldapinitialbindpattern" id="authldapinitialbindpattern">Directive</a> <a name="AuthLDAPInitialBindPattern" id="AuthLDAPInitialBindPattern">AuthLDAPInitialBindPattern</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp<53>cifie la modification a apporter au nom d'utilisateur
pour l'authentification de base lors de l'authentification aupr<70>s du
serveur LDAP pour effectuer une recherche de DN</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPInitialBindPattern (.*) $1 (nom de l'utilisateur
distant utilis<69> tel quel)</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<69>:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
<p>Si la directive <code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code> est
d<>finie <20> <em>ON</em>, le nom utilisateur pour l'authentification de
base sera transform<72> selon l'expression rationnelle
<var>regex</var> et l'argument <var>substitution</var> sp<73>cifi<66>s.</p>
<p>L'expression rationnelle est compar<61>e au nom d'utilisateur pour
l'authentification de base courant. L'argument
<var>substitution</var> peut contenir des r<>f<EFBFBD>rences arri<72>res, mais
n'effectue aucune autre interpolation de variable.</p>
<p>Cette directive ne doit <20>tre utilis<69>e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d<>di<64> via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<pre class="prettyprint lang-config">AuthLDAPInitialBindPattern (.+) $1@example.com</pre>
<pre class="prettyprint lang-config">AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com</pre>
<div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3>
On ne peut utiliser cette directive que si ce module
effectue une authentification, et n'a aucun effet si ce module
n'est utilis<69> que pour les processus d'autorisation.
</div>
<div class="note"><h3>D<>bogage</h3>
Le DN de substitution est enregistr<74> dans la variable
d'environnement <em>LDAP_BINDASUSER</em>. Si l'expression
rationnelle ne convient pas, le nom d'utilisateur est utilis<69>
tel quel.
</div>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapbinddn">AuthLDAPBindDN</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="authldapmaxsubgroupdepth" id="authldapmaxsubgroupdepth">Directive</a> <a name="AuthLDAPMaxSubGroupDepth" id="AuthLDAPMaxSubGroupDepth">AuthLDAPMaxSubGroupDepth</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp<53>cifie la profondeur d'imbrication des sous-groupes
maximale prise en compte avant l'abandon de la recherche de
l'utilisateur.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPMaxSubGroupDepth <var>Nombre</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPMaxSubGroupDepth 0</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<69>:</a></th><td>Disponible <20> partir de la version 2.3.0 du serveur HTTP
Apache ; la valeur par d<>faut <20>tait 10 dans les versions 2.4.x et les
premi<EFBFBD>res versions 2.5</td></tr>
</table>
<p>Lorsque cette directive est d<>finie <20> une valeur <code>X</code>
non nulle, en combinaison avec l'utilisation de la directive
<code>Require ldap-group DN-groupe</code>, les donn<6E>es de connexion
fournies seront utilis<69>es pour v<>rifier l'appartenance de
l'utilisateur <20> l'objet de l'annuaire <code>DN-groupe</code> ou <20>
tout sous-groupe du groupe courant en tenant compte de la profondeur
d'imbrication maximale <code>X</code> sp<73>cifi<66>e par la directive.</p>
<p>Se r<>f<EFBFBD>rer <20> la section <a href="#reqgroup"><code>Require
ldap-group</code></a> pour un exemple plus d<>taill<6C>.</p>
<div class="note"><h3>Performances dans le cas des groupes imbriqu<71>s</h3>
<p>Lorsque les directives
<code class="directive">AuthLDAPSubGroupAttribute</code> et
<code class="directive">AuthLDAPGroupAttribute</code> se recouvrent (comme
c'est le cas par d<>faut et requis par les sch<63>mas LDAP courants), la
recherche de sous-groupes au sein de grands groupes peut <20>tre tr<74>s
longue. Si vos groupes sont tr<74>s grands et non imbriqu<71>s, d<>finissez
la directive <code class="directive">AuthLDAPMaxSubGroupDepth</code> <20> 0.</p>
</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="authldapremoteuserattribute" id="authldapremoteuserattribute">Directive</a> <a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp<53>cifie l'attribut dont la valeur renvoy<6F>e au cours de la
requ<EFBFBD>te de l'utilisateur sera utilis<69>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 <20> la valeur de l'attribut
sp<73>cifi<66>. Assurez-vous que cet attribut soit bien inclus dans la
liste d'attributs sp<73>cifi<66>s dans la d<>finition de AuthLDAPUrl ; dans
le cas contraire, cette directive n'aurait aucun effet. Si elle est
pr<70>sente, cette directive l'emporte sur <code class="directive"><a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></code>. Elle
peut s'av<61>rer utile par exemple, si vous souhaitez que les
utilisateurs se connectent <20> un site web en utilisant leur adresse
email, alors qu'une application sous-jacente n<>cessite un nom
d'utilisateur comme identifiant.</p>
<p>Cette directive n'a d'effet que si l'on utilise ce module pour
l'authentification.</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">Directive</a> <a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</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 <20> on, la variable d'environnement
<code>REMOTE_USER</code> sera d<>finie avec la valeur du DN complet
de l'utilisateur authentifi<66>, et non plus avec simplement le nom
d'utilisateur fourni par le client. Elle est d<>finie <20> off par
d<>faut.</p>
<p>Cette directive n'a d'effet que si l'on utilise ce module pour
l'authentification.</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="authldapsearchasuser" id="authldapsearchasuser">Directive</a> <a name="AuthLDAPSearchAsUser" id="AuthLDAPSearchAsUser">AuthLDAPSearchAsUser</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise les donn<6E>es d'authentification de l'utilisateur
pour la recherche des autorisations</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSearchAsUser on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPSearchAsUser 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>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit<69>:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
<p>Lorsque cette directive est d<>finie, et si
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifi<66> l'utilisateur, les
recherches LDAP pour d<>finir les autorisations utilisent le nom
distinctif (DN) trouv<75> et le mot de passe pour l'authentification de
base HTTP de l'utilisateur authentifi<66>, au lieu des donn<6E>es
d'authentification configur<75>es au niveau du serveur.</p>
<p>Les v<>rifications d'autorisation <em>ldap-filter</em> et
<em>ldap-dn</em> utilisent des recherches.</p>
<p>Cette directive n'a d'effet sur les comparaisons effectu<74>es au
cours des traitements de groupe imbriqu<71>s, et lorsque la directive
<code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code>
est aussi activ<69>e.</p>
<p>Cette directive ne doit <20>tre utilis<69>e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d<>di<64> via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</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="authldapsubgroupattribute" id="authldapsubgroupattribute">Directive</a> <a name="AuthLDAPSubGroupAttribute" id="AuthLDAPSubGroupAttribute">AuthLDAPSubGroupAttribute</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp<53>cifie les noms d'attribut, un par directive, utilis<69>s
pour diff<66>rencier les membres du groupe courant qui sont eux-m<>mes des
groupes.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupAttribute <em>attribut</em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPSubgroupAttribute 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>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit<69>:</a></th><td>Disponible <20> partir de la version 2.3.0 du serveur HTTP
Apache</td></tr>
</table>
<p>Un objet groupe LDAP peut contenir des membres qui sont des
utilisateurs et des membres qui sont eux-m<>mes des groupes (appel<65>s
sous-groupes ou groupes imbriqu<71>s). La directive
<code class="directive">AuthLDAPSubGroupAttribute</code> sp<73>cifie l'attribut utilis<69>
pour identifier les groupes, alors que la directive <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code> sp<73>cifie
l'attribut utilis<69> pour identifier les utilisateurs. On peut sp<73>cifier
plusieurs attributs en r<>p<EFBFBD>tant la directive plusieurs fois. Si elle 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="authldapsubgroupclass" id="authldapsubgroupclass">Directive</a> <a name="AuthLDAPSubGroupClass" id="AuthLDAPSubGroupClass">AuthLDAPSubGroupClass</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp<53>cifie quelles valeurs d'objectClass LDAP identifient les
objets de l'annuaire qui sont des groupes au cours du traitement des
sous-groupes.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames</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<69>:</a></th><td>Disponible <20> partir de la version 2.3.0 du serveur HTTP
Apache</td></tr>
</table>
<p>Un objet groupe LDAP peut contenir des membres qui sont des
utilisateurs et des membres qui sont eux-m<>mes des groupes (appel<65>s
sous-groupes ou groupes imbriqu<71>s). La directive
<code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code>
permet d'identifier les
membres qui sont des sous-groupes du groupe courant (<28> l'oppos<6F> des
membres utilisateurs). La directive
<code class="directive">AuthLDAPSubGroupClass</code> permet de sp<73>cifier les valeurs
d'objectClass LDAP utilis<69>es pour v<>rifier que certains membres sont
en fait des objets groupe. Les sous-groupes ainsi identifi<66>s peuvent
alors faire l'objet d'une recherche d'autres membres utilisateurs ou
sous-groupes. On peut sp<73>cifier plusieurs attributs en r<>p<EFBFBD>tant
cette directive plusieurs fois. Si cette 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>groupOfNames</code> et <code>groupOfUniqueNames</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="authldapurl" id="authldapurl">Directive</a> <a name="AuthLDAPUrl" id="AuthLDAPUrl">AuthLDAPUrl</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL permettant de sp<73>cifier les param<61>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 <20> la RFC 2255 qui permet de sp<73>cifier les
param<61>tres <20> 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<72>e?filtre</code></p></div>
<p>Si vous souhaitez mettre <20> la disposition d'Apache plusieurs URLs
LDAP, la syntaxe sera :</p>
<pre class="prettyprint lang-config">AuthLDAPUrl "ldap://ldap1.example.com ldap2.example.com/dc=..."</pre>
<p><em><strong>Mise en garde : </strong>Si vous sp<73>cifiez plusieurs
serveurs, vous devez en entourer la liste avec des guillemets ; dans le
cas contraire, vous g<>n<EFBFBD>rerez une erreur : "AuthLDAPURL takes one
argument, URL to define LDAP connection..".</em> Vous pouvez bien
entendu ajouter des param<61>tres de recherche <20> chacun des serveurs
sp<EFBFBD>cifi<EFBFBD>s.</p>
<dl>
<dt>ldap</dt>
<dd>Pour ldap non s<>curis<69>, utilisez la cha<68>ne
<code>ldap</code>. Pour ldap s<>curis<69>, utilisez <20> la place la
cha<68>ne <code>ldaps</code>. LDAP s<>curis<69> n'est disponible que si
Apache a <20>t<EFBFBD> li<6C> avec une biblioth<74>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<73>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
<20> chacun des serveurs jusqu'<27> ce qu'il parvienne <20> se
connecter avec succ<63>s. Notez qu'en cas de multiples serveurs
LDAP, l'ensemble de l'URL LDAP doit <20>tre entour<75>e de
guillemets.</p>
<p>lorsqu'une connection a <20>t<EFBFBD> <20>tablie avec un serveur, elle
reste active pendant toute la dur<75>e de vie du processus
<code class="program"><a href="../programs/httpd.html">httpd</a></code>, ou jusqu'<27> 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<65>ant par le premier serveur de la
liste, et ainsi de suite avec les serveurs redondants
suivants. Notez que ce processus n'a rien <20> 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 <20> partir de laquelle
toutes les recherches seront lanc<6E>es. Il doit au moins
correspondre <20> la racine de votre annuaire, mais vous pouvez
aussi indiquer une branche plus sp<73>cifique.</dd>
<dt>attribut</dt>
<dd>Il s'agit de l'attribut <20> utiliser pour la recherche.
Bien que la RFC
2255 autorise une liste d'attributs s<>par<61>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<74>es de
la branche de l'annuaire que vous aurez d<>finie. Tous les
attributs sp<73>cifi<66>s seront enregistr<74>s dans des variables
d'environnement avec le pr<70>fixe AUTHENTICATE_, afin de pouvoir
<09>tre utilis<69>s par d'autres modules.</dd>
<dt>port<72>e</dt>
<dd>Il s'agit de la port<72>e de la recherche. Elle peut prendre
les valeurs <code>one</code> ou <code>sub</code>. Notez que la
RFC 2255 supporte aussi une port<72>e de valeur <code>base</code>,
mais cette derni<6E>re n'est pas support<72>e par le module. Si la
port<72>e n'est pas d<>finie, ou si elle est d<>finie <20>
<code>base</code>, c'est la valeur de port<72>e par d<>faut
<code>sub</code> qui sera utilis<69>e.</dd>
<dt>filtre</dt>
<dd>Il s'agit d'un filtre de recherche LDAP valide. Si aucun
filtre n'est sp<73>cifi<66>, le filtre par d<>faut
<code>(objectClass=*)</code> sera utilis<69>, ce qui corrspond <20>
une recherche de tous les types d'objets de l'arborescence. La
taille des filtres est limit<69>e <20> environ 8000 caract<63>res (valeur
de la macro <code>MAX_STRING_LEN</code> dans le code source
d'Apache), ce qui s'av<61>re plus que suffisant pour la plupart des
applications. A partir de la version 2.4.10 du serveur HTTP Apache, le
mot-cl<63> <code>none</code> permet de d<>sactiver
l'utilisation des filtres, ce qui peut s'av<61>rer n<>cessaire avec
certains serveurs LDAP primitifs.</dd>
</dl>
<p>Pour une recherche, les attribut, filtre et nom d'utilisateur
fournis par le client HTTP sont combin<69>s pour cr<63>er un filtre de
recherche du style :
<code>(&amp;(<em>filtre</em>)(<em>attribut</em>
=<em>nom-utilisateur</em>))</code>.</p>
<p>Par exemple, consid<69>rons l'URL
<code>ldap://ldap.example.com/o=Example?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>(&amp;(posixid=*)(cn=Babs Jenson))</code>.</p>
<p>On peut encore ajouter un param<61>tre optionnel pour permettre <20>
l'URL LDAP de surcharger le type de connexion. Ce param<61>tre peut
prendre l'une des valeurs suivantes :</p>
<dl>
<dt>NONE</dt>
<dd><3E>tablit une connexion non s<>curis<69>e sur le port LDAP par
d<>faut, ce qui est <20>quivalent <20> <code>ldap://</code> sur le port
389.</dd>
<dt>SSL</dt>
<dd><3E>tablit une connexion s<>curis<69>e sur le port LDAP s<>curis<69>
par d<>faut, ce qui est <20>quivalent <20> <code>ldaps://</code>.</dd>
<dt>TLS | STARTTLS</dt>
<dd><3E>tablit une connexion s<>curis<69>e par <20>l<EFBFBD>vation de niveau sur
le port LDAP par d<>faut. Cette connexion sera initialis<69>e sur le
port 389 par d<>faut, puis <20>lev<65>e <20> un niveau de connexion
s<>curis<69>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>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_authnz_ldap.html" title="Fran<61>ais">&nbsp;fr&nbsp;</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&amp;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/trunk/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 2016 The Apache Software Foundation.<br />Autoris<69> 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/quickreference.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>