2011-10-20 47 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"; 

     } 
相關問題