Как программно обновить определение роли группы в sharepoint 2010? - PullRequest
1 голос
/ 20 октября 2011

Я программно создал группу SharePoint с ролями чтения и добавления.
Сейчас я пытаюсь обновить роли этой группы другими определениями ролей. Как полный контроль и т. Д. Но я не могу удалить существующие роли из группы SharePoint.

1 Ответ

0 голосов
/ 02 ноября 2011

попробуйте следующий код. Сначала вам нужно определить определение роли (при условии, что вы используете существующее). После этого добавьте группу к роли, а затем добавьте роль в сеть:

public enum RoleTypeEnum { fullcontrol, design, contribute, read };

 //declare roledefinition
 SPRoleDefinition roleDefinition;

 //switch to determine role
 switch (roleType)
 {
      case RoleTypeEnum.contribute:
          roleDefinition = spWeb.RoleDefinitions[Constants.SiteCollection.SecurityTypeNames.contribute];
          break;
      case RoleTypeEnum.design:
          roleDefinition = spWeb.RoleDefinitions[Constants.SiteCollection.SecurityTypeNames.design];
          break;
      case RoleTypeEnum.fullcontrol:
          roleDefinition = spWeb.RoleDefinitions[Constants.SiteCollection.SecurityTypeNames.fullcontrol];
          break;
      case RoleTypeEnum.read:
          roleDefinition = spWeb.RoleDefinitions[Constants.SiteCollection.SecurityTypeNames.read];
          break;
      default:
          return null;
}

//add group to role
SPGroup group = spWeb.SiteGroups[groupName];
SPRoleAssignment roleAssignment = new SPRoleAssignment(group);
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);

//add role to web
spWeb.RoleAssignments.Add(roleAssignment);
spWeb.Update();

Константы, которые я использовал в коммутаторе, голландские, но вот они:

            public static partial class SecurityTypeNames
        {
            public const string fullcontrol = "Volledig beheer";

            public const string design = "Ontwerpen";

            public const string contribute = "Bijdragen";

            public const string read = "Lezen";

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...