第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
にあるサンプルファイルからインポートされたデータでビューがどのように機能するかを確認することができます。