...
Quand un utilisateur se connecte, le portail évalue, pour chaque groupe du fichier PAGSGroupStoreconfig.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 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
...
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
...