这是方案..
===== scanario 1 ===== 1.文件库“Gatorate Classic” 我有四组。 组Alpha - 角色 - 阅读 组Beta - 角色 - 编辑 Group Epselon - 角色 - 编辑 Gamma组 - 角色 - 编辑
===== scanario 2 ===== 1.文件库“Gatorate G2” 我有四组。 组Alpha - 角色 - 编辑 组Beta - 角色 - 阅读 Group Epselon - 角色 - 编辑 Gamma组 - 角色 - 阅读
我试图关注此链接但http://www.csharpest.net/?p=74但我不认为这是我的解决方案。有没有人有这样的场景。相同的组但访问级别不同。
答案 0 :(得分:2)
我有更改文档库(带页面)权限级别的内容 但我有不同的需求所以我在页面上建立了权限。
string groupname = "Group Alpha";
SPWeb web = getSPWeb();
web.AllowUnsafeUpdates = true;
SPGroup grupo = web.Groups[groupname];
SPFile arq = null;
SPFolder pasta = web.GetFolder("pages");
arq = pasta.Files["page1.aspx"];
if (arq.InDocumentLibrary)
{
SPListItem item = arq.Item;
if (!item.HasUniqueRoleAssignments)
item.BreakRoleInheritance(false);
SPRoleAssignmentCollection roles = item.RoleAssignments;
while (roles.Count > 0)
roles.Remove(0);
SPRoleAssignment atrib1 = new SPRoleAssignment(web.Groups[groupname] as SPPrincipal);
atrib1.RoleDefinitionBindings.Add(web.RoleDefinitions.GetByType(SPRoleType.Administrator));
roles.Add(atrib1);
}
web.AllowUnsafeUpdates = false;
希望这会对你有所帮助。