> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 委任管理：フィルターフック

> 委任管理拡張機能でフィルターフックを使用する方法について説明します。

**Delegated Admin - User** ロールのユーザーはデフォルトで、そのAuth0アカウントに紐づけられたすべてのユーザーを表示できます。しかし、 **フィルターフック** を使うと、ユーザーに表示されるデータをフィルタリングすることができます。

## フックコントラクト

* **ctx** ：コンテキストオブジェクト。
* **callback(error, query)** ：ユーザーをフィルタリングするときに使用する、エラーまたはluceneクエリを返すことができるコールバック。この拡張機能はこのクエリを<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>の[\*\* ユーザー取得\*\* エンドポイント](/docs/ja-jp/api/management/v2#!/Users/get_users)に送信します。

luceneクエリについて詳しくは、「[ユーザー検索クエリ構文](/docs/ja-jp/manage-users/user-search/user-search-query-syntax)」を参照してください。

### サンプルユースケース

財務部門を管理するKellyには、財務部門に所属するユーザーしか表示されるべきではありません。そこで、該当するユーザーと部門（この場合は、財務部門とKelly）に応じて全体のユーザーにフィルターをかけます。

```javascript lines theme={null}
function(ctx, callback) {
  // Get the department from the current user's metadata.
  var department = ctx.request.user.app_metadata && ctx.request.user.app_metadata.department;
  if (!department || !department.length) {
    return callback(new Error('The current user is not part of any department.'));
  }

  // The IT department can see all users.
  if (department === 'IT') {
    return callback();
  }

  // Return the lucene query.
  return callback(null, 'app_metadata.department:"' + department + '"');
}
```

### 検索エンジンのオーバーライド

デフォルトの検索エンジンは、応答で選択を指定することでオーバーライドできます。

```javascript lines theme={null}
// Return the lucene query.
return callback(null, { query: 'app_metadata.department:"' + department + '"', searchEngine: 'v2' });
```

## 注記

フィルタイリングする際には一重引用符、二重引用符、その他の特殊文字（ **+** や **-** など）は使用しないでください。使用するとLuceneクエリに問題が生じる可能性があります。

OR、NOT、ANDなどの複数の演算子を使用する場合は、それらの検索パラメーターを括弧\[`()`]で囲み、どの演算子がどこで有効かを明確にしてください。

このフックを構成しないと、検索結果に **すべてのユーザー** が返されます。

## もっと詳しく

* [委任管理：アクセスフック](/docs/ja-jp/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-access-hook)
* [委任管理：メンバーシップクエリフック](/docs/ja-jp/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-memberships-query-hook)
* [委任管理：クエリ設定フック](/docs/ja-jp/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-settings-query-hook)
* [委任管理：書き込みフック](/docs/ja-jp/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-write-hook)
