如何使用 C# 更改 Sharepoint 2013 中的组权限

How to change group permissions in sharepoint 2013 using C#

我有一个组 "Visitors" 具有贡献权限,我想以编程方式将权限更改为读取。我对组添加新权限没有问题,但我不知道如何删除旧权限。

如何更改此代码以删除权限 Contribute 并添加权限 Read?

SPWeb root = site.RootWeb;
SPGroup group = root.SiteGroups["Visitors"];  
SPRoleDefinition roleDefinition = root.RoleDefinitions.GetByType(SPRoleType.Reader);
SPRoleAssignment roleAssignment = new SPRoleAssignment(group);
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
root.RoleAssignments.Add(roleAssignment);
root.Update();

以下示例演示了如何:

  • 给群组添加Reader权限级别
  • 从组中删除 Contribute 权限级别

示例:

SPWeb root = site.RootWeb;
SPGroup group = root.SiteGroups[groupName];

SPRoleDefinition contributeRoleDef = root.RoleDefinitions.GetByType(SPRoleType.Contributor);
SPRoleDefinition readerRoleDef = root.RoleDefinitions.GetByType(SPRoleType.Reader);
SPRoleAssignment groupRoleAssignments = root.RoleAssignments.GetAssignmentByPrincipal(group);
groupRoleAssignments.RoleDefinitionBindings.Remove(contributeRoleDef);
groupRoleAssignments.RoleDefinitionBindings.Add(readerRoleDef);
groupRoleAssignments.Update();