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

> Découvrez comment utiliser le Filter Hook avec la Delegated Administration Extension.

# Delegated Administration : Filter Hook

Par défaut, les utilisateurs ayant le rôle **Delegated Admin - User** voient tous les utilisateurs associés au compte Auth0. Cependant, vous pouvez filtrer les données auxquelles ils ont accès à l’aide du **Filter Hook**.

<div id="hook-contract">
  ## Contrat du Hook
</div>

* **ctx** : Objet de contexte.
* **callback(error, query)** : Fonction de rappel dans laquelle vous pouvez renvoyer une erreur ou la requête Lucene utilisée pour filtrer les utilisateurs. L’extension enverra cette requête au [**point de terminaison Get Users**](https://auth0.com/docs/api/management/v2#!/Users/get_users) de la <Tooltip tip="Management API : Un produit permettant aux clients d'effectuer des tâches administratives." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Management+API">Management API</Tooltip>.

Pour en savoir plus sur la requête Lucene, consultez [User Search Query Syntax](/docs/fr-ca/manage-users/user-search/user-search-query-syntax).

<div id="sample-use">
  ### Exemple d’utilisation
</div>

Si Kelly gère le département Finance, elle ne devrait voir que les utilisateurs qui font aussi partie du département Finance. Nous filtrerons les utilisateurs en fonction du département de l’utilisateur actuel (soit, dans ce cas-ci, le département Finance pour le département et Kelly pour l’utilisateur, respectivement).

```javascript lines theme={null}
function(ctx, callback) {
  // Récupérer le département à partir des métadonnées de l'utilisateur actuel.
  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.'));
  }

  // Le département TI peut voir tous les utilisateurs.
  if (department === 'IT') {
    return callback();
  }

  // Retourner la requête Lucene.
  return callback(null, 'app_metadata.department:"' + department + '"');
}
```

<div id="search-engine-override">
  ### Remplacement du search engine
</div>

Vous pouvez remplacer le search engine par défaut en indiquant votre choix dans la réponse.

```javascript lines theme={null}
// Retourner la requête lucene.
return callback(null, { query: 'app_metadata.department:"' + department + '"', searchEngine: 'v2' });
```

<div id="notes">
  ## Remarques
</div>

N’utilisez pas de guillemets simples, de guillemets doubles ni d’autres caractères spéciaux (comme **+** ou **-**) dans les termes sur lesquels vous souhaitez appliquer un filtre. Cela peut entraîner des problèmes avec la requête Lucene.

Si vous utilisez plusieurs opérateurs comme OR, NOT ou AND, placez ces paramètres de recherche entre parenthèses \[`()`] afin de préciser où chaque opérateur s’applique.

Si vous ne configurez pas ce Hook, la recherche renvoie **tous les utilisateurs**.

<div id="learn-more">
  ## En savoir plus
</div>

* [Delegated Administration: Access Hook](/docs/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-access-hook)
* [Delegated Administration: Memberships Query Hook](/docs/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-memberships-query-hook)
* [Delegated Administration: Settings Query Hook](/docs/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-settings-query-hook)
* [Delegated Administration: Write Hook](/docs/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-write-hook)
