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"
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
folder_ch_test.RoleAssignments.Add(assignment);
ou ca
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
BreakRoleInheritance(true);
sur ma librairie donc je ne comprnd pas pourquoi il ne veut pas ajoutrer de nouvelles permissions a mon sous-répertoire.
Partager