Maison  >  Article  >  développement back-end  >  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

不言
不言original
2018-07-17 10:46:092156parcourir

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']);

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']);

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']);

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!

Déclaration:
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