Pages enfant
  • Description des règles du Store Shib

Description des règles du Store Shib

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

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


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


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.

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 :

# 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"))

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.

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]

  • Aucune étiquette