|
1 | 1 | <?xml version="1.0" encoding="UTF-8" ?> |
2 | 2 | <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
3 | 3 | <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> |
4 | | -<!-- English Revision: 1898251:1922995 (outdated) --> |
| 4 | +<!-- English Revision: 1922995 --> |
5 | 5 | <!-- French translation : Lucien GENTIS --> |
6 | 6 | <!-- Reviewed by : Vincent Deffontaines --> |
7 | 7 |
|
@@ -92,6 +92,7 @@ d'Apache</compatibility> |
92 | 92 | <li><a href="#reqdn">Require ldap-dn</a></li> |
93 | 93 | <li><a href="#reqattribute">Require ldap-attribute</a></li> |
94 | 94 | <li><a href="#reqfilter">Require ldap-filter</a></li> |
| 95 | + <li><a href="#reqsearch">Require ldap-search</a></li> |
95 | 96 | </ul> |
96 | 97 | </li> |
97 | 98 |
|
@@ -233,7 +234,7 @@ configuration de la mise en cache. |
233 | 234 | <ul> |
234 | 235 | <li>Avec la directive <a |
235 | 236 | href="#reqgroup"><code>Require ldap-user</code></a>, |
236 | | - l'autorisation d'accès est accordée si le nom d'utilisateur |
| 237 | +l'autorisation d'accès est accordée si le nom d'utilisateur |
237 | 238 | spécifié par la directive correspond au nom d'utilisateur fourni |
238 | 239 | par le client.</li> |
239 | 240 |
|
@@ -261,6 +262,11 @@ configuration de la mise en cache. |
261 | 262 | utilisateur unique qui corresponde au DN de l'utilisateur |
262 | 263 | authentifié.</li> |
263 | 264 |
|
| 265 | + <li>Avec la directive <a href="#reqsearch"><code>Require |
| 266 | + ldap-search</code></a>, l'autorisation d'accès |
| 267 | + est accordée si le filtre de recherche renvoie avec succès un objet |
| 268 | + correspondant unique avec n’importe quel DN.</li> |
| 269 | + |
264 | 270 | <li>dans tous les autres cas, refus ou restriction de |
265 | 271 | l'accès.</li> |
266 | 272 | </ul> |
@@ -592,6 +598,32 @@ Require ldap-dn cn=Barbara Jenson, o=Example |
592 | 598 |
|
593 | 599 | </section> |
594 | 600 |
|
| 601 | +<section id="reqsearch"><title>Require ldap-search</title> |
| 602 | + |
| 603 | + <p>La directive <code>Require ldap-search</code> permet à |
| 604 | + l'administrateur d'autoriser l'accès en fonction d'un filtre de |
| 605 | + recherche LDAP générique contenant une <a |
| 606 | + href="../expr.html">expression rationnelle</a>. Si le filtre de |
| 607 | + recherche renvoie une et une seule correspondance, l'accès est |
| 608 | + accordé sans tenir compte du DN.</p> |
| 609 | + |
| 610 | + <p>La directive suivante accorderait l'accès aux URLs correspondant |
| 611 | + aux objets spécifiés dans le serveur LDAP :</p> |
| 612 | + |
| 613 | +<highlight language="config"> |
| 614 | +<LocationMatch "^/dav/(?<SITENAME>[^/]+)/"> |
| 615 | +Require ldap-search "(cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}} |
| 616 | +Website)" |
| 617 | +</LocationMatch> |
| 618 | +</highlight> |
| 619 | + |
| 620 | + <p>Note : il faut bien s'assurer que les |
| 621 | + expressions sont correctement échappés afin de se prémunir contre |
| 622 | + toute injection LDAP. A cet effet, il est possible d'utiliser la |
| 623 | + fonction <strong>ldap</strong> comme dans l'exemple ci-dessus.</p> |
| 624 | + |
| 625 | +</section> |
| 626 | + |
595 | 627 | </section> |
596 | 628 |
|
597 | 629 | <section id="examples"><title>Exemples</title> |
|
0 commit comments