...
Les groupes PAGS sont référencés dans le fichier uportal-impl/src/main/resources/properties/groups/PAGSGroupStoreconfigPAGSGroupStoreConfig.xml
Quand un utilisateur se connecte, le portail évalue, pour chaque groupe du fichier PAGSGroupStoreconfigPAGSGroupStoreConfig.xml, si l'utilisateur appartient ou non à ce groupe en fonction des critères d'appartenance indiqués dans les balises selection-test et members.
- selection-test détermine les utilisateurs directs d'un groupe
- members détermine les sous-groupes d'un groupe
Le fichier
...
PAGSGroupStoreConfig.xml
Bloc de code |
---|
<Group-Store>
<group>
<group-key>TousPers</group-key>
<group-name>LDAP Tout le personnel</group-name>
<group-description>Tout le personnel de l'etablissement issu de LDAP</group-description>
<selection-test>
<test-group>
<test>
<attribute-name>eduPersonAffiliation</attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class>
<test-value>faculty</test-value>
</test>
</test-group>
<test-group>
<test>
<attribute-name>eduPersonAffiliation</attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class>
<test-value>staff</test-value>
</test>
</test-group>
<test-group>
<test>
<attribute-name>eduPersonAffiliation</attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class>
<test-value>employee</test-value>
</test>
</test-group>
<test-group>
<test>
<attribute-name>eduPersonAffiliation</attribute-name>
<tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class>
<test-value>researcher</test-value>
</test>
</test-group>
</selection-test>
<members>
<member-key>Enseignants</member-key>
</members>
</group>
...
</Group-Store>
|
...
Contient l'ensemble des tests à effectuer pour évaluer l'appartenance d'un utilisateur à ce groupe en fonction de ses attributs. L'utilisateur qui répond aux tests de selection-test est appelé "membre direct" d'un groupe (memberOf)
test-group
Regroupe des test d'appartenance : tous les tests dans la même balise test-group sont ET-ifiés (associés avec un ET logique) : ils doivent être tous validés pour que le test renvoit retourne VRAI
S'il y a plusieurs test-group, ils sont OU-ifiés (associés avec un OU logique)
test
- attribute-name : L'attribut uPortal testé
- tester-class : La classe java utilisée comme opérateur pour le test.
- test-value : La valeur comparée à l'attribut
...
IntegerEQTester | attribute-name et test-value sont convertis en ints. attribute-name doit être égal à test-value. |
IntegerGETester | attribute-name supérieur ou égal à test-value. |
IntegerGTTester | attribute-name supérieur à test-value. |
IntegerLETester | attribute-name inférieur ou égal à test-value. |
IntegerLTTester | attribute-name inférieur à test-value. |
RegexTester | attribute-name doit correspondre à l'expression régulière indiquée dans test-value. |
StringEqualsIgnoreCaseTester | Comparaison de chaînes en ignorant la casse. |
StringEqualsTester | Comparaison de chaînes. |
ValueExistsTester | Vrai VRAI si attribute-name possède une valeur. |
ValueMissingTester | Vrai VRAI si attribute-name est nul ou qu'aucune de ses valeurs n'est égale à test-value. |
Avantages
...
PS : les valeurs d'un attribut multi-valué sont testées successivement ; il suffit que une de ses valeurs réponde au test pour qu'il soit VRAI
members
Indique, dans les balises member-key, les sous-groupes de ce groupe. Un utilisateur qui appartient à l'un de ces sous-groupes est appelé "membre indirect" d'un groupe (deepMemberOf).
Avantages
L'évaluation est faite à la connexion, utilisateur par utilisateur => la taille des groupes n'influe pas sur les performances
Inconvénients
On ne peut pas afficher la liste des utilisateurs membres d'un groupe
Références
http://www.ja-sig.org/wiki/display/GAP/uPortal+PAGS+documentation