第2章 ビューを使用した仮想ディレクトリー階層の作成

仮想ディレクトリーツリー (DIT) ビューを作成することで、エントリーを独自のグループや階層で整理し、様々な視点から標準の DIT を操作することができます。これにより、ディレクトリー管理のコストを節約し、エントリーによる移動をより直感的にサービスのユーザーに直感的に行うことができます。

2.1. ビューについて

仮想ディレクトリーツリービュー、または ビュー とは、DIT でエントリーをカテゴリー分け、検索するための標準ディレクトリーツリー (DIT) に加えて構造の任意のレイヤーです。

ビューを使用すると、仮想ディレクトリー階層を作成できます。そのため、標準の DIT に配置しても、エントリーの移動が簡単になります。ビューは、フィルターされたロールまたは動的グループのメンバーと同様に、エントリーの属性を使用して仮想階層に追加します。クライアントアプリケーションにとって、ビューは通常のコンテナー階層として表示されます。

この方法では、最初はフラットな DIT にエントリーを配置し、ビューを使用して複雑な階層でエントリーを分類することができ、エントリーを移動させる必要がありません。また、標準的な DIT では実現できない、複数のビューでエントリーを表示することができます。

ビューは、名前付きのフィルターと考えることができます。各ビューは nsView オブジェクトクラスのエントリーであり、どのエントリーをそのビューで表示するかを示す nsViewFilter 属性を持つことができます。フィルターにオブジェクトクラスを指定して、返されるエントリーのタイプを制限することが望ましい場合があります。

ビューを他のビューのコンテナーとして使用し、仮想階層を作成できます。入れ子になったビューは、その祖先からフィルターを継承し、そのフィルターと祖先のフィルターを (&(container filter)(view filter)) のように AND で結合してビューを制限します。

ビューをベースとして検索が実行されると、フィルターに一致するエントリーがこの仮想検索スペースから返されます。エントリーは、ほぼビュー下でネスト化されるように見えますが、実際には DIT の任意の場所に保存できます。

注記

テストインスタンスを作成し、/usr/share/dirsrv/data/Example-views.ldif にあるサンプルファイルからインポートされたデータでビューがどのように機能するかを確認することができます。