Pages enfant
  • Description des règles du Store Shib

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3
Volet
bgColor#F8F7EF

Description des règles du Store Shib

**
Auteur : Rui Miguel VALERIO (CRI - Université de Rennes 1) (http://http://)

Sommaire
minLevel1
indent20px
styledisc

Introduction


Les règles du store Shib s'appuient sur le moteur de règle Java JBoss Rules (Drools). Ces règles sont définies dans la métadonnée "shib-exp-eval" des différentes ressources de la branche /roles/shib.

Lorsqu'une ressource possèdera une acl donnant le droit au groupe /roles/shib/CRI par exemple, alors la règle se trouvant dans la métadonnée "shib-exp-eval" de la ressource CRI sera évaluée avec les attributs shibboleth de l'utilisateur. La règle renverra true si la règle est vérifiée, false dans le cas contraire.

Description des règles


Remarque

Les regles doivent être écrites sur une seule ligne. Si vous écriver plus d'une règle sur plusieurs lignes c'est un ET logique qui s'applique entre ces différentes règles.

Exemples


Bloc de code
eval(shibAtt.getAttributeUser("REMOTE_USER","jdupont@univ-test.fr"))

Cet exemple permet d'évaluer si l'attribut REMOTE_USER de l'utilisateur vaut jdupont@univ-test.fr.REMOTE_USER de l'utilisateur vaut jdupont@univ-test.fr.

Bloc de code
eval(shibAtt.getAttributeUser("Shib-EP-PrimaryAffiliation","member")) or eval(shibAtt.getAttributeUser("REMOTE_USER","jdupont@univ-test.fr"))

Ce deuxième exemple permet d'évaluer si l'attribut Shib-EP-PrimaryAffiliation vaut member ou bien si l'attribut REMOTE_USER de l'utilisateur vaut jdupont@univ-test.fr.

Il est aussi possible de mettre des commentaires dans une règle. exemple :

Bloc de code
# les personnels de l'IUFM de bretagne
eval(shibAtt.getAttributeUser("Shib-Supann-supannOrganisme","{EES}0352291A"))
eval(shibAtt.getAttributeUser("Shib-EP-PrimaryAffiliation","employee")) or eval(shibAtt.getAttributeUser("Shib-EP-PrimaryAffiliation","faculty")) or eval(shibAtt.getAttributeUser("Shib-EP-PrimaryAffiliation","staff"))
Remarque

Pour connaître le nom des attributs shib à utiliser dans votre règle (ici : Shib-Supann-supannOrganisme et Shib-EP-PrimaryAffiliation) il faut regarder le fichier AAP.xml de votre configuration shibboleth du côté SP.

Remarque

Quand vous utilisez un outil comme le plugin eclipse WebDAVPilot pour saisir la métadonnée "shib-exp-eval" vous n'avez pas à vous demander comment encoder les caractères spéciaux. Si au contraire vous utilisez une méthode plus "sauvage" d'écriture de la métadonnée directement dans les fichiers .def.xml utilisé par slide alors il faut penser à encoder ces caractères. Par exemple, il faut utiliser " qui correspond aux guillemets afin qu'ils soient bien interprétés par le moteur XML.

Opérateurs logiques


JBoss Rules permet l'utilisation de divers opérateurs logiques qui permettent d'articuler les différentes conditions d'une même règle.

Ces différents opérateurs logiques sont :

  • and ou bien &&
  • or ou bien ||
  • eval évalue une expression (comme cela est le cas dans les exemples)
  • not

    Liens


[Documentation JBoss
Rules|http://labs.jboss.com/jbossrules/docs/index.html]