...
| 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:.....:tous" // les administrateurs Grouper qui auront le droit d'administrer le groupe des administrateurs delegues administrateursGrouper="...: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 de Rennes 1 dossierDesPersonnels = StemFinder.findByName(grouperSession, "ur1:pers"); // les groupes institutionnels des etudiants de Rennes 1 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éioncréation 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 deleguedelegué 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éesvisibilités 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 Ãà ourjour/consultation des membres des groupes du dossier deleguedelegué 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éioncréation de groupes dans le dossier: RuleApi.inheritFolderPrivileges(SubjectFinder.findRootSubject(), dossierADeleguer , Stem.Scope.SUB, gestionnaires.toSubject(), Privilege.getInstances("create")); // visibilitéesvisibilités 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 deleguedelegué 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")); |
...