...
Le code du script gsh est basé sur les règles d'héritage de Grouper V2 :
| Bloc de code |
|---|
// DELEGATION : REGLES D'HERITAGE DES PRIVILEGES |
...
grouperSession = GrouperSession.startRootSession(); |
...
// |
...
// PARAMETRESi A RENSEIGNER: |
...
// le dossier a deleguer |
...
chemin = "ur1:app:stockage:nas" |
...
id = "920" |
...
nom = "IUT de Rennes" |
...
dossier = chemin + ":" +id |
...
description = "" |
...
// le demandeur : une personne ou un groupe |
...
demandeur="ur1:pers:ser:957:57in:57sys:tous" |
...
// les administrateurs Grouper qui auront le droit d'administrer le groupe des administrateurs delegues |
...
administrateursGrouper="ur1:ress:adm" |
...
// DOSSIER A DELEGUER |
...
dossierADeleguer = addStem(chemin, id, nom); |
...
dossierADeleguer = StemFinder.findByName(grouperSession, dossier); |
...
RuleApi.reassignStemPrivilegesIfFromGroup(SubjectFinder.findRootSubject(),dossierADeleguer, Stem.Scope.SUB); |
...
RuleApi.reassignGroupPrivilegesIfFromGroup(SubjectFinder.findRootSubject(), dossierADeleguer, Stem.Scope.SUB); |
...
// setStemAttr(dossierADeleguer.getName(),"description",description); |
...
// GROUPES A CREER |
...
// le groupe des administrateurs locaux |
...
administrateurs = addGroup(dossierADeleguer.getName(),"adm","Administrateurs "+ nom); |
...
administrateurs = GroupFinder.findByName(grouperSession, dossierADeleguer.getName()+":adm"); |
...
// le groupe des gestionnaires locaux |
...
gestionnaires = addGroup(dossierADeleguer.getName(),"ges","Gestionnaires "+ nom); |
...
gestionnaires = GroupFinder.findByName(grouperSession, dossierADeleguer.getName()+":ges"); |
...
// |
...
// le groupes des lecteurs des membres des groupes delegues |
...
lecteurs = addGroup(dossierADeleguer.getName(),"lec","Lecteurs "+ nom); |
...
lecteurs = GroupFinder.findByName(grouperSession, dossierADeleguer.getName()+":lec"); |
...
// |
...
// GROUPES INSTITUTIONNELS |
...
// les groupes institutionnels des personnels |
...
dossierDesPersonnels = StemFinder.findByName(grouperSession, "ur1:pers"); |
...
// les groupes institutionnels des etudiants |
...
dossierDesEtudiants = StemFinder.findByName(grouperSession, "ur1:etu"); |
...
// |
...
// GROUPES NON-INSTITUTIONNELS |
...
// les groupes |
...
applicatifs de Rennes 1 dossierApplicatifs = StemFinder.findByName(grouperSession, "ur1:app"); |
...
// les groupes des |
...
ressources de Rennes 1 dossierDesRessources = StemFinder.findByName(grouperSession, "ur1:ress"); |
...
// les autres |
...
groupes de Rennes 1 dossierAutresGroupes = StemFinder.findByName(grouperSession, "ur1:div"); |
...
// |
...
// Droits admin sur le groupe des administrateurs locaux , pour les administrateurs de Grouper |
...
grantPriv(administrateurs.getName(), administrateursGrouper, AccessPrivilege.ADMIN); |
...
// DELEGATION AUX ADMINISTRATEURS LOCAUX |
...
// droit de créion de sous-dossiers et de groupes dans le dossier delegue |
...
grantPriv(dossierADeleguer.getName(), administrateurs.getName(), NamingPrivilege.STEM); |
...
grantPriv(dossierADeleguer.getName(), administrateurs.getName(), NamingPrivilege.CREATE); |
...
addMember(administrateurs.getName(),demandeur); |
...
RuleApi.inheritFolderPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("stem, create")); |
...
// droit d'administraion des groupes du dossier delegue |
...
grantPriv(gestionnaires.getName(), administrateurs.getName(), AccessPrivilege.ADMIN); |
...
grantPriv(lecteurs.getName(), administrateurs.getName(), AccessPrivilege.ADMIN); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("admin")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("update")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
// visibilitées sur les groupes institutionnels et non-institutionnels |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject() |
...
, dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierApplicatifs , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierApplicatifs , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesRessources , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesRessources , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierAutresGroupes , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierAutresGroupes , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
// |
...
// DELEGATION AUX GESTIONNAIRES LOCAUX |
...
// droits de mise |
...
à our/consultation des membres des groupes du dossier delegue |
...
grantPriv(lecteurs.getName(), gestionnaires.getName(), AccessPrivilege.UPDATE); |
...
grantPriv(lecteurs.getName(), gestionnaires.getName(), AccessPrivilege.READ); |
...
grantPriv(lecteurs.getName(), gestionnaires.getName(), AccessPrivilege.VIEW); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("update")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("view")); |
...
// droit de créion de groupes dans le dossier: |
...
RuleApi.inheritFolderPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("create")); |
...
// visibilitées sur les groupes institutionnels et non-institutionnels |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesPersonnels , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesEtudiants , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierApplicatifs , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierDesRessources , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierAutresGroupes , Stem.Scope.SUB, administrateurs.toSubject(), Privilege.getInstances("view")); |
...
// |
...
// DELEGATION AUX LECTEURS LOCAUX |
...
// droit de consultation du contenu des groupes du dossier delegue |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, lecteurs.toSubject(), Privilege.getInstances("read")); |
...
RuleApi.inheritGroupPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, lecteurs.toSubject(), Privilege.getInstances("view")); |
Synchronisation Grouper - Services d'annuaires
...