Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Ajout d'un exemple de script

...

Ajoute le compte "toto" comme membre du groupe groupes:admin:grouper. Ce compte doit exister dans la ou les sources de données de Grouper (voir configuration grouper API, sources de données)

...

Exemple de script

Bloc de code

// Création de la hierarchie initiale.

grouperSession = GrouperSession.startRootSession();

// Ajout des descriptions pour les dossiers et groupes
// cree lors de l'initialisation de Grouper.
rootStem = StemFinder.findByName(grouperSession, "esup");
rootStem.setDescription("Racine ESUP");
rootStem.setDisplayExtension("ESUP");
rootStem.store();

adminStem = StemFinder.findByName(grouperSession, "esup:admin");
adminStem.setDescription("Racine pour les groupes d'administration");
adminStem.setDisplayExtension("Admin");
adminStem.store();

sAdmin = GroupFinder.findByName(grouperSession, "esup:admin:super_admins");
sAdmin.setDescription("Groupe des super administrateurs");
sAdmin.setDisplayExtension("Super_Admins");
sAdmin.store();

// Ajout de l'utilisateur admin dans le groupe de confiance.
addMember("esup:admin:super_admins", "admin");

// Création du dossier utilisateur.
stem = addStem("esup", "utilisateurs", "Utilisateurs");
stem.setDescription("Racine pour les groupes d'utilisateurs");
stem.store();

// Création et peuplement du groupe d'administration locaux.

lAdmin = addGroup("esup:admin", "local_admins", "Local_Admins");
lAdmin.setDescription("Groupe des administrateurs locaux");
lAdmin.store();
String\[\] targetSubjects = {"pers0", "pers1"};
for (String targetSubject : targetSubjects) { addMember("esup:admin:local_admins", targetSubject); }


// Création et peuplement du groupe d'enseignants.
teachers = addGroup("esup:utilisateurs","enseignants", "Enseignants");
teachers.setDescription("Un groupe d'enseignants");
teachers.store();
targetSubjects = new String\[\]{"ens0", "ens1"};
for (String targetSubject : targetSubjects) { addMember("esup:utilisateurs:enseignants", targetSubject); }

// Création et peuplement du groupe d'étudiants.
teachers = addGroup("esup:utilisateurs","etudiants", "Etudiants");
teachers.setDescription("Un groupe d'étudiants");
teachers.store();
targetSubjects = new String\[\] {"etud0", "etud1", "etud2"};
for (String targetSubject : targetSubjects) { addMember("esup:utilisateurs:etudiants", targetSubject); }


// Positionnement des privilèges
// Par defaut les groupes sont visibles de tous, on supprime ce droit.
revokePriv("esup:admin:super_admins", "GrouperAll",  AccessPrivilege.VIEW);
revokePriv("esup:admin:local_admins", "GrouperAll",  AccessPrivilege.VIEW);
revokePriv("esup:utilisateurs:etudiants", "GrouperAll",  AccessPrivilege.VIEW);
revokePriv("esup:utilisateurs:enseignants", "GrouperAll",  AccessPrivilege.VIEW);

// local_admin
grantPriv("esup:utilisateurs", "esup:admin:local_admins",NamingPrivilege.STEM);
grantPriv("esup:utilisateurs", "esup:admin:local_admins",NamingPrivilege.CREATE);
grantPriv("esup:utilisateurs:enseignants", "esup:admin:local_admins",AccessPrivilege.ADMIN);
grantPriv("esup:utilisateurs:etudiants", "esup:admin:local_admins",AccessPrivilege.ADMIN);

// etudiants
grantPriv("esup:utilisateurs:etudiants", "esup:utilisateurs:etudiants", AccessPrivilege.VIEW);

// enseignants
grantPriv("esup:utilisateurs:enseignants", "esup:utilisateurs:enseignants", AccessPrivilege.VIEW);
grantPriv("esup:utilisateurs:etudiants", "esup:utilisateurs:enseignants", AccessPrivilege.READ);