Bonjour à tous,
Ma problématique est dans le titre. J'arrive bien à ajouter un rôle à un groupe mais je n'arrive pas à tous les supprimer.
J'ai toujours cette exception qui est limpide
Impossible d'ajouter une attribution de rôle à une collection de liaisons de définitions de rôles vide.
In english :
Cannot add a role assignment with empty role definition binding collection
Voici ma méthode pour Ajouter un rôle et qui fonctionne bien :
Ci-dessous la méthode pour supprimer tous les rôles et qui tombe en exception au moment de l’exécution de la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 using (ClientContext ctx = new ClientContext("https://MonSite/")) { SecureString passWord = new SecureString(); foreach (char c in Constants.PSW.ToCharArray()) passWord.AppendChar(c); ctx.Credentials = new SharePointOnlineCredentials(Constants.LOGIN + "@" + Constants.TENANT + ".onmicrosoft.com", passWord); Group group1 = ctx.Web.AssociatedMemberGroup; RoleDefinition readDef = ctx.Web.RoleDefinitions.GetByName(role); RoleDefinitionBindingCollection roleDefCollection = new RoleDefinitionBindingCollection(ctx); roleDefCollection.Add(readDef); RoleAssignment newRoleAssignment = ctx.Web.RoleAssignments.Add(group1, roleDefCollection); group1.Update(); ctx.ExecuteQuery(); }
Merci pour votre aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 using (ClientContext ctx = new ClientContext("https://MonSite/")) { SecureString passWord = new SecureString(); foreach (char c in Constants.PSW.ToCharArray()) passWord.AppendChar(c); ctx.Credentials = new SharePointOnlineCredentials(Constants.LOGIN + "@" + Constants.TENANT + ".onmicrosoft.com", passWord); Group group1 = ctx.Web.AssociatedMemberGroup; RoleDefinitionBindingCollection roleDefCollection = new RoleDefinitionBindingCollection(ctx); roleDefCollection.RemoveAll(); RoleAssignment newRoleAssignment = ctx.Web.RoleAssignments.Add(group1, roleDefCollection); group1.Update(); ctx.ExecuteQuery(); }
Axel
Partager