#region 配置列表单独权限 /// <summary> /// 配置列表单独权限 /// <param name="web">WEB</param> /// <param name="list">LIST</param> /// <param name="groupNameStr">SP组名称,多个组用“,”隔开</param> private static void SetGroupPermissionToList(SPWeb web, SPList list, string groupNameStr) { list.BreakRoleInheritance(false); SPRoleAssignmentCollection roleAssignmentColl = list.RoleAssignments; string[] groupNames = groupNameStr.Split(','); foreach (string groupName in groupNames) { try { SPGroup group = web.SiteGroups[groupName]; SPRoleAssignment roleAssignment = new SPRoleAssignment(group); SPRoleDefinition roleDifinition = web.RoleDefinitions["参与讨论"]; roleAssignment.RoleDefinitionBindings.Add(roleDifinition); roleAssignmentColl.Add(roleAssignment); } catch (Exception) { } } } #endregion
在创建列表的地方调用如下方法:
#region 列表权限 SetGroupPermissionToList(_web, list, "groupName1,groupName2,groupName3");
#endregion