Ajout Programmatique de permissions à « tout le monde » dans SharePoint Online

Oct 7, 2015

Il se peut que vous vouliez ajouter des permissions au « groupe » « tout le monde » dans SharePoint.

En effet cela permet de donner des droits à tous les usagers qui ont déjà accès au site (parce qu’ils sont dans d’autres groupes où ont déjà des permissions). Ce « groupe » est différent de « NT AUTHORITY\authenticated users » qui représente tous les usagers qui sont capables de s’authentifier (plus large donc)

Seulement voici la subtilité, ce « groupe » n’en est pas un, donc inutile d’itérer sur tous les groupes de la collection de sites en espérant le trouver. C’est en fait un utilisateur spécial. Pour le trouver il suffit d’utiliser son login à savoir : “c:0(.s|true”

Voici un exemple de code en CSOM qui vous montre comment le faire :

var user = item.ParentList.ParentWeb.EnsureUser("c:0(.s|true");
var roleBindings = new RoleDefinitionBindingCollection(context);
roleBindings.Add(item.ParentList.ParentWeb.RoleDefinitions.GetByType(roleType));
item.RoleAssignments.Add(principal, roleBindings);
context.ExecuteQuery();

Edité la dernière fois le 6 Sep 2021 par Vincent


Tags: