前のトピック: ビュー定義の削除

次のトピック: グループとロールのセットアップ

ビューを呼び出す方法

ビューはビュー エントリまたはその下で操作を実行することにより呼び出すことができます。

ビューの DN を含む検索をリクエストすることにより、ビューを呼び出します。

検索リクエストを呼び出すことで、フィルタとスコープも指定されます。 これらは両方ともビューに渡されます。

DSA は、検索の段階でパラメータに値を提供するためにだけフィルタを使用します。

スコープはベース オブジェクト検索またはサブツリー検索になります。 ビュー内の各検索(段階)のスコープがビュー定義で別々に定義されているので、ビューはこのスコープ指定を直接使用しません。 代わりに、ビューは、ビューのその第 1 段階でどのフィルタを使用すべきかを決定するためにスコープを使用します。

サブツリーの検索

スコープがサブツリー検索であるとき、フィルタは直接使用されません。また、DSA は検索リクエストにフィルタを使用して、パラメータをビューの段階 1 に渡します。

例: サブツリー検索コマンドでビューを呼び出す

有料テレビの例では、ビューは以下のコマンドによって呼び出されます。

ldapsearch -h host -p 30000 -Lb "cn=Channel list,o=Views,c=AU" -s subtree MACAddress=01:02:03 Channel

collapse-result オプションが有効な場合、この検索は以下の結果を返します。

dn: MACAddress=01:02:03,cn=Channel list,o=Views,c=AU
Channel: 1
Channel: 2

例: サブツリー検索コマンドで別のビューを呼び出す

ldapsearch -h host:30000 -b "cn=SIM,ou=Views,o=ACME" -s subtree (cn=John Smith) SIMCardNumber

これは SIM View ビューを呼び出します。 ビューの段階 1 には、$cn を含むフィルタがあります。 DSA は、ビュー内の $cn をすべて John Smith に置換してから、段階 1 を実行します。 「例: 携帯電話サービス プロバイダ」も参照してください。

ベース オブジェクトの検索

ベース オブジェクト検索については、(objectClass=*) を含むフィルタを使用して、エントリを読み取り、ビューを解決できます。 段階 1 検索でのフィルタはベース オブジェクト検索に対して無視されます。代わりに DSA は、指定する検索フィルタを使用します。

ベース オブジェクト検索を使用して、(Channel=1) または (!(Channel=2)) のような単純なクエリを実行できます。これらのクエリはビューが解決された後、適用されます。

例: ベース オブジェクトの検索

上記の有料テレビの例で、ビューは以下のコマンドによって呼び出されます。

ldapsearch -h host -p 30000 -Lb "MACAddress=01:02:03,cn=Channel list,o=Views,c=AU" -s base (objectClass=*) Channel

collapse-result オプションが有効な場合、この検索は以下の結果を返します。

dn: MACAddress=01:02:03,cn=Channel list,o=Views,c=AU
Channel: 1
Channel: 2

例: ベース オブジェクト検索コマンドでビューの呼び出し

ldapsearch -h host:30000 -b "cn=SIM,ou=Views,o=ACME" -s baseobject (baseObject=*) SIMCArdNumber

これは SIM View ビューを呼び出します。 段階 1 フィルタは、(baseObject=*) です。

バインド

多くのアプリケーションが、特定のユーザのサブツリー検索を実行します。 その後、返されたエントリの識別名を使用して、バインドを介してユーザが認証されます。

例: バインド リクエスト

ビュー エントリ "cn=SMUsers,o=Views,c=AU" のサブツリー検索が、ビューの下位エントリ "guid=1234,cn=SMUsers,o=Views,c=AU" を返す場合、このユーザに対するバインドは実行できます。 ディレクトリは以下の方法で、バインドを処理します。

  1. バインド リクエストは、エントリ "guid=1234,cn=SMUsers,o=Views,c=AU" のパスワード比較に変換されます。
  2. 段階 1 サブツリーは確認され、"ou=users,o=acme,c=AU" であることがわかります。
  3. パスワード比較は、段階 1 サブツリーに再マッピングされ、"guid=1234,ou=users,o=acme,c=AU" を生成します。
  4. パスワード比較がこのエントリに適用され、userPassword が一致した場合、認証が成功します。
変更

ユーザがビューによって認証されるとき、一部のアプリケーションでは、そのユーザの lastLogin 情報を更新します。 変更リクエストが、ビューの下位エントリに対して受信されるとき、以下の処理が発生します。

注: 更新は段階 1 検索によって返されたエントリにのみに適用されます。

比較

比較リクエストが、ビューの下位エントリに対して受信されるとき、以下の処理が発生します。

注: 比較は段階 1 検索によって返されたエントリにのみ適用されます。