Ce document a pour but de décrire la syntaxe des règle Shib. |
Dates de modification | ||
---|---|---|
|
|
|
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.
eval(shibAtt.getAttributeUser("REMOTE_USER","jdupont@univ-test.fr"))
eval(shibAtt.getAttributeUser("Shib-EP-PrimaryAffiliation","member")) or eval(shibAtt.getAttributeUser("REMOTE_USER","jdupont@univ-test.fr"))
Tout d'abord le " correspond aux guillemets encodés afin d'être interprétés comme tels par l'interpreteur XML.
Le premier exemple permet d'évaluer si l'attribut REMOTE_USER de l'utilisateur vaut jdupont@univ-test.fr.
Le second 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.
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