1

这是场景..

===== scanario 1 ===== 1. 文档库“Gatorate Classic” 2. 我有四个组。组 Alpha - 角色 - 读取组 Beta - 角色 - 编辑组 Epselon - 角色 - 编辑组 Gamma - 角色 - 编辑

===== scanario 2 ===== 1. 文档库“Gatorate G2” 2. 我有四个组。组 Alpha - 角色 - 编辑组 Beta - 角色 - 读取组 Epselon - 角色 - 编辑组 Gamma - 角色 - 读取


我试图按照这个链接,但http://www.csharpest.net/?p=74但我不认为这是我的解决方案。有没有人遇到过这样的场景。同一组但不同级别的访问权限。

4

1 回答 1

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;

希望这可以帮助你。

于 2010-04-21T18:09:04.830 回答