最近仕事で LDAP を扱っているのですが、公式推奨の client-apis では各言語に対応した API を簡単に見つけて LDAP サーバーとやり取りすることができます。ただし、Apache Directory Studio を使用する場合、このソフトウェアは実際にスキーマ データを表示できます。公式ドキュメントを注意深く読んだ後でも、スキーマ データをクエリするための手順が見つかりませんでした (ドキュメント内に関連する手順を見つけた場合は、そのままにしておいていただければ幸いです)私に知らせるためのメッセージ)私)。しかし、php で書かれたクライアント phpLDAPAdmin を見つけ、そのソース コードを通じてスキーマ データをクエリする方法を発見しました。
公式ドキュメントによると、スキーマ データには次の 4 つの部分が含まれていることがわかりました。
構文
属性
matching_rules
objectclasses
オブジェクトクラスのクエリを例として取り上げます (すべてのクエリを次の場所でクエリすることもできます) 1 回)、対応するクエリ方法は次のとおりです。
最初のケース
$read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=subschema)', ['objectclasses']); $read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=*)', ['objectclasses']);
最初のクエリが見つからない場合は、2 番目のクエリを使用します
$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']);
2 番目のクエリの場合見つからない場合は、3 番目のタイプを使用してください
$read_ret = ldap_read($ds, 'cn=schema,cn=config', '(objectClass=*)', ['objectclasses']);
関連する推奨事項:
以上がPHPでLDAPサーバーのスキーマデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。