ホームページ >バックエンド開発 >PHPチュートリアル >PHPでLDAPサーバーのスキーマデータを取得する方法

PHPでLDAPサーバーのスキーマデータを取得する方法

不言
不言オリジナル
2018-07-17 10:46:092227ブラウズ

最近仕事で 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 のマルチタスク コルーチン処理の分析

以上がPHPでLDAPサーバーのスキーマデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。