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!