Maison > développement back-end > tutoriel php > Comment obtenir des données de schéma de serveur LDAP en PHP

Comment obtenir des données de schéma de serveur LDAP en PHP

不言
Libérer: 2023-04-03 08:26:02
original
2260 Les gens l'ont consulté

J'ai récemment travaillé avec LDAP au travail. Dans les API client officiellement recommandées, vous pouvez facilement trouver l'API correspondant à chaque langue et ensuite interagir avec le serveur LDAP. Cependant, lors de l'utilisation d'Apache Directory Studio, ce logiciel peut réellement afficher les données de schéma. Après avoir lu attentivement le document officiel, je n'ai toujours vu aucune instruction pour interroger les données de schéma (si quelqu'un voit des instructions pertinentes dans le document, j'espère que vous pourrez partir). un message pour me prévenir) I). Mais j'ai trouvé le client phpLDAPAdmin écrit en php, puis grâce à son code source, j'ai découvert comment interroger les données Schema.

Grâce à des documents officiels, nous avons constaté que les données Schema contiennent les quatre parties suivantes

  • syntaxes

  • attributs

  • matching_rules

  • classes d'objets

Prenons l'exemple de l'interrogation des classes d'objets (vous pouvez également tout interroger en même temps) , la méthode de requête correspondante est la suivante

Le premier cas

$read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=subschema)', ['objectclasses']);
$read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=*)', ['objectclasses']);
Copier après la connexion

Si la première requête est introuvable, utilisez la deuxième requête

$read_ret = ldap_read($ds, 'cn=Aggregate,cn=Schema,cn=configuration,dc=example,dc=com', '(objectClass=*)';
$read_ret = ldap_read($ds, 'cn=Schema,cn=configuration,dc=example,dc=com', '(objectClass=*)', ['objectclasses']);
$read_ret = ldap_read($ds, 'cn=Schema,ou=Admin,dc=example,dc=com', '(objectClass=*)', ['objectclasses']);
Copier après la connexion

Si la la deuxième requête n'est pas disponible Si tel est le cas, utilisez le troisième type

$read_ret = ldap_read($ds, 'cn=schema,cn=config', '(objectClass=*)', ['objectclasses']);
Copier après la connexion

Recommandations associées :

Analyse du traitement de coroutine multitâche de PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal