2011-10-20 5 views
1

私は、読み取りと貢献の役割を持つプログラムでSharePointグループを作成しました。
他のロール定義でそのグループのロールを更新しようとしています。フルコントロールなどと同じですが、SharePointグループから既存のロールを削除することはできません。sharepoint 2010のグループのロール定義をプログラムによって更新する方法はありますか。

+0

「しかし、私は、既存のを削除カントはどのようなsharepointグループからの役割は "正確に意味するか?エラー?これまでどんなコードを持っていますか? – Stefan

答えて

0

次のコードを試してください。まず、ロール定義を決定する必要があります(既存のものを使用していると仮定します)。それがウェブに役割を追加することによって、その後役割にグループを追加した後:

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"; 

     } 
関連する問題