根据在“人员”或“组”类型中选择的值更改共享点列表项权限

时间:2012-10-03 18:39:23

标签: c# sharepoint sharepoint-list

我有一个列是Person或Group类型的列表。我的要求是需要将另一个列表项的项目权限更改为上述列中的选定值。

例如,我有两个列表A和B.列表“A”包含“访问”列,其类型为“人员和组”(可以是多个)。我想将列表'B'的项目权限更改为列表A的“访问权限”列中的选定值。

指导我如何做到这一点。

1 个答案:

答案 0 :(得分:1)

SPWeb web = SPContext.Current.Web;
SPGroup oGroup = web.Groups.GetByID   (oFieldUserValue.LookupId);   //Look up field value                                     
SPPrincipal principal = (SPPrincipal)oGroup;
SPRoleAssignment roleAssignment = new SPRoleAssignment(principal);                                        
permFolder.Item.BreakRoleInheritance(true);                                        
roleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions["Contribute"]);
permFolder.Item.RoleAssignments.Add(roleAssignment);
permFolder.Item.Update();
finalItem.Update();