mirror of
https://github.com/apache/httpd.git
synced 2025-07-10 08:01:00 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1741777 13f79535-47bb-0310-9956-ffa450edef68
1636 lines
93 KiB
Plaintext
1636 lines
93 KiB
Plaintext
<?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="<-" alt="<-" src="../images/left.gif" /></a></div>
|
||
<div id="path">
|
||
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
|
||
<div id="page-content">
|
||
<div id="preamble"><h1>Module Apache mod_authnz_ldap</h1>
|
||
<div class="toplang">
|
||
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
||
<a href="../fr/mod/mod_authnz_ldap.html" title="Fran<61>ais"> fr </a></p>
|
||
</div>
|
||
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification
|
||
HTTP de base.</td></tr>
|
||
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
|
||
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur<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__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&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&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
|
||
"&(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"><LocationMatch "^/dav/(?<SITENAME>[^/]+)/">
|
||
Require ldap-filter
|
||
"(memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example)"
|
||
</LocationMatch></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"><LocationMatch "^/dav/(?<SITENAME>[^/]+)/">
|
||
Require ldap-search "(cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}}
|
||
Website)"
|
||
</LocationMatch></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>(&(|(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>(&(|(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"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>. Ceci est d<> au fait que pour savoir
|
||
o<> se trouve la liste des utilisateurs valides,
|
||
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> doit <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>(&(<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>(&(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"> en </a> |
|
||
<a href="../fr/mod/mod_authnz_ldap.html" title="Fran<61>ais"> fr </a></p>
|
||
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
|
||
<script type="text/javascript"><!--//--><![CDATA[//><!--
|
||
var comments_shortname = 'httpd';
|
||
var comments_identifier = 'http://httpd.apache.org/docs/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> |