ContrĂŽle LDAP

Les contrĂŽles sont des objets spĂ©ciaux qui peuvent ĂȘtre envoyĂ©s avec une requĂȘte LDAP pour modifier le comportement du serveur LDAP lors de l'exĂ©cution de la requĂȘte. Il peut Ă©galement y avoir des contrĂŽles envoyĂ©s par le serveur avec la rĂ©ponse pour fournir plus d'informations, gĂ©nĂ©ralement pour rĂ©pondre Ă  un objet de contrĂŽle de la requĂȘte.

Note:

Tous les contrÎles ne sont pas supportés par tous les serveurs LDAP. Pour savoir quels contrÎles sont supportés par un serveur, il faut interroger le DSE racine en lisant un dn vide avec le filtre (objectClass=*).

Exemple #1 Testing support for paged result control

<?php
// $ds est un identifiant de lien valide pour un serveur de répertoire
$result = ldap_read($ds, '', '(objectClass=*)', ['supportedControl']);
if (!
in_array(LDAP_CONTROL_PAGEDRESULTS, ldap_get_entries($ds, $result)[0]['supportedcontrol'])) {
die(
"This server does not support paged result control");
}
?>

À partir de PHP 7.3, il est possible d'envoyer des contrĂŽles avec la requĂȘte dans toutes les fonctions de requĂȘte en utilisant le paramĂštre controls. Lorsqu'une version Ă©tendue d'une fonction existe, il est recommandĂ© de l'utiliser si on veut accĂ©der Ă  l'objet de rĂ©ponse complet et ĂȘtre capable de parser les contrĂŽles de rĂ©ponse Ă  partir de celui-ci en utilisant ldap_parse_result().

controls doit ĂȘtre un tableau contenant un tableau pour chaque contrĂŽle Ă  envoyer, contenant les clĂ©s suivantes :

oid (string)
L'OID du contrÎle. Il est recommandé d'utiliser les constantes commençant par LDAP_CONTROL_ pour cela. Voir constantes de LDAP.
iscritical (bool)
Si un contrĂŽle est marquĂ© comme critique, la requĂȘte Ă©chouera si le contrĂŽle n'est pas supportĂ© par le serveur, ou s'il Ă©choue Ă  ĂȘtre appliquĂ©. À noter que certains contrĂŽles devraient toujours ĂȘtre marquĂ©s comme critiques comme notĂ© dans le RFC les introduisant. Par dĂ©faut Ă  false.
value (mixed)
Si applicable, la valeur du contrĂŽle. Consulter ci-dessous pour plus d'informations.

La plupart des valeurs de contrĂŽle sont envoyĂ©es au serveur en BER-encodĂ©. Il est possible de soit BER-encoder la valeur soi-mĂȘme, ou il est possible de plutĂŽt passer un tableau avec les clĂ©s correctes pour que l'encodage soit fait automatiquement. Les contrĂŽles supportĂ©s pour le passage en tant que tableau sont :

Les contrĂŽles suivants n'ont pas besoin de valeur :

Le contrĂŽle LDAP_CONTROL_PROXY_AUTHZ est un cas spĂ©cial car sa valeur n'est pas censĂ©e ĂȘtre BER-encodĂ©e, il est donc possible d'utiliser directement une chaĂźne pour sa valeur.

Lorsque les contrÎles sont parsés par ldap_parse_result(), les valeurs sont transformées en tableau si supportées. Ceci est supporté pour :

add a note

User Contributed Notes

There are no user contributed notes for this page.