Partager via


Résolution des problèmes AD FS : syntaxe des règles de revendications

Une revendication est une déclaration qu’un sujet fait à propos de lui-même ou d’un autre objet. Une partie de confiance émet les revendications. Ils reçoivent une ou plusieurs valeurs, puis sont empaquetés dans des jetons de sécurité émis par le serveur ADFS (Services de fédération Active Directory). Cet article traite de la syntaxe des revendications et de la création. Pour plus d’informations sur l’émission de revendications, consultez Résoudre les problèmes ad FS.

Mode de traitement des règles de réclamation

Claim rules are processed through the claims pipeline by using the claims engine. Le moteur de revendications est un composant logique d’AD FS qui examine l’ensemble des revendications entrantes présentées par un utilisateur. Selon la logique de chaque règle, elle produit un ensemble de revendications de sortie.

Création d’une règle de revendication

Les règles de revendication sont créées séparément pour chaque relation de confiance fédérée dans AD FS. Elles ne sont pas partagées entre plusieurs approbations. You can:

Éléments constitutifs du langage de la règle de revendication

Le langage de règle de revendication se compose des composants suivants, séparés par l’opérateur " =>" :

  • Une condition est utilisée dans une règle pour permettre de vérifier les revendications d’entrée et de déterminer si l’instruction d’émission de la règle doit être exécutée. Elle représente une expression logique qui doit être évaluée comme « true » pour que la partie du corps de la règle s’exécute.
  • Une instruction d’émission.

Voici un exemple :

c:[type == "Name", value == "domain user"] => issue(type = "Role", value = "employee");

Cette revendication a :

  • Condition: c:[type == "Name", value == "domain user"] evaluates the input claim of whether the Windows account name is a domain user.
  • Issuance: issue(type = "Role", value = "employee") adds a new claim to the input claim with the role of employee, if the condition is true.

Pour plus d’informations sur les revendications et la syntaxe, consultez Le rôle du langage de règle de revendication.

Éditeur de règle de revendications

The claims rule editor performs syntax checking after you finish the claim and select OK. Si vous avez la syntaxe incorrecte, l’éditeur vous informe.

Capture d’écran montrant la boîte de dialogue Gestion A D F S avec un message indiquant que la syntaxe de règle de revendication personnalisée n’est pas valide.

Event logs

Lorsque vous essayez de résoudre les problèmes d’une revendication à l’aide des journaux, la meilleure approche consiste à rechercher la sortie des revendications. Recherchez les événements 1000 et 1001 dans le journal des événements.

Capture d’écran montrant la boîte de dialogue Propriétés de l’événement avec les résultats d’un ID d’événement 1000.

Créer un exemple d’application

Vous pouvez également créer un exemple d’application qui fait écho à vos revendications. Par exemple, vous pouvez utiliser un exemple d'application et créer une partie de confiance qui possède la même revendication que celle que vous essayez de dépanner, puis vérifier si l'application rencontre des problèmes avec cette revendication.

Capture d’écran montrant l’exemple d’application dans un navigateur.

Un bon exemple d’application web est disponible. L’application renvoie les revendications qu’elle reçoit de la partie de confiance. Pour l’utiliser, modifiez l’application web.config :

  • Veuillez remplacer https://app1.contoso.com/sampapp par l'URL utilisée pour héberger l'application exemple.
  • Modifiez toutes les instances de sts.contoso.com manière à pointer vers votre serveur AD FS.
  • Remplacez l’empreinte numérique par votre empreinte numérique.
  • Remplacez les valeurs decryptionKey et validationKey par des valeurs appropriées pour votre scénario.

Capture d’écran montrant le fichier de configuration web dans Visual Studio.

Cet article de blog contient d’excellentes instructions détaillées pour configurer l’application.