Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将我的自定义权限级别分配给我的测试组?_C#_Sharepoint 2010 - Fatal编程技术网

C# 如何将我的自定义权限级别分配给我的测试组?

C# 如何将我的自定义权限级别分配给我的测试组?,c#,sharepoint-2010,C#,Sharepoint 2010,我创建了一个组名:TestGroup 和一个权限级别名称:CustomPermissionLevel 如何以编程方式将权限级别(CustomPermissionLevel)分配给组 我正在使用以下代码: public void SetPermissionsToGroup() { using (var site = new SPSite("http://sp2010:8888")) { using (var web = site.Op

我创建了一个组名:TestGroup 和一个权限级别名称:CustomPermissionLevel

如何以编程方式将权限级别(CustomPermissionLevel)分配给组

我正在使用以下代码:

public void SetPermissionsToGroup()
    {
        using (var site = new SPSite("http://sp2010:8888"))
        {
            using (var web = site.OpenWeb())
            {
                //Get group and group roles
                var group = web.SiteGroups["TestGroup"];
                var roles = new SPRoleAssignment(group);                   

                //Add another role
                roles.RoleDefinitionBindings.Add(web.RoleDefinitions.GetByType(SPRoleType.Custompermisionlevel));
                roles.Update();
            }
        }
    }
我没有获得SPRoleType中的CustomPermissionLevel。有人知道我做错了什么吗

出现此错误:无法更新不属于权限级别分配集合的权限级别分配。

有一些好代码。您需要做的是通过引用
SPWeb
上的特定
SPRoleDefinition
来获取对自定义权限级别的引用

下面是一些示例代码,用于为指定SPUser的SPList分配权限级别“My Test level

SPWeb currentWeb = topSite.RootWeb;
SPList testList = currentWeb.Lists["ListName"];
SPUser currentUser = currentWeb.SiteUsers["domain\\userName"];
SPRoleAssignment customRoleAssignment = new SPRoleAssignment(currentUser);

SPRoleDefinition customRoleDefinition = currentWeb.RoleDefinitions["My Test Level"];
customRoleAssignment.RoleDefinitionBindings.Add(customRoleDefinition);

testList.BreakRoleInheritance(false);
testList.RoleAssignments.Add(customRoleAssignment);
testList.Update();

这是SharePoint吗?如果是这样的话,你会有更好的运气标记它和/或在