Bonjour,

j'ai concios un petit programme permettant de gérer les droits de toutes les librairies et de tous les sous-répertoires pour des groupes précis
Cependant je rencontre un problème au niveau de la gestion des droits au niveau des sous-répertoires pour les groupes.

ex: Supposant que je sois dans la librairie "Documents" et qu'a l'intérieur de celle ci j'ai un sous-répertoire "Rep1"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
public static void AddPermFol(SPWeb oWebsite, String nom_lib,String nom_folder, SPGroup group_, String perm_)
        {
SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    oWebsite.AllowUnsafeUpdates = true;
 
 
                    // je récupére ma librairie
                    SPList doclib = oWebsite.Lists[nom_lib];
 
                    if (doclib.HasUniqueRoleAssignments)
                    {
                        doclib.BreakRoleInheritance(true);
                    }
 
 
                    SPListItem folder_ch_test = null;
                    SPFolder folder_ch_test2 = null;
 
                   // je trouve mon sous répertoire
                    for (int i = 0; i < doclib.Folders.Count; i++)
                    {
                        if (doclib.Folders[i].Folder.Name == nom_folder)
                        {
 
                            folder_ch_test = doclib.Folders[i];
                            folder_ch_test2 = doclib.Folders[i].Folder;
                        }
                    }
 
 
 
                    //j'applique les droits
                    SPRoleAssignment assignment = new SPRoleAssignment(group_);
 
 
                    if (perm_ == "Administrator")
                    {
                        SPRoleDefinition roleDefinition = oWebsite.RoleDefinitions.GetByType(SPRoleType.Administrator);
 
                        assignment.RoleDefinitionBindings.Add(roleDefinition);
 
                        SPSecurity.RunWithElevatedPrivileges(delegate()
                    {
                        folder_ch_test.RoleAssignments.Add(assignment);
                        folder_ch_test2.Item.RoleAssignments.Add(assignment);
 
                    });
 
                    }
Comme vous le voyez j'essaye d'ajouter d'ajouter un role d'administrateur a un groupe précis mais que j'essaye de faire ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
folder_ch_test.RoleAssignments.Add(assignment);
ou ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
folder_ch_test2.Item.RoleAssignments.Add(assignment);
cela me renvoie une érreur de ce type :
Cette opération n'est pas autorisée sur un objet dont les autorisations sont héritées.
Je ne comprend pas car je fais bien un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BreakRoleInheritance(true);
sur ma librairie donc je ne comprnd pas pourquoi il ne veut pas ajoutrer de nouvelles permissions a mon sous-répertoire.