C# 如何将我的自定义权限级别分配给我的测试组?
我创建了一个组名:TestGroup 和一个权限级别名称:CustomPermissionLevel 如何以编程方式将权限级别(CustomPermissionLevel)分配给组 我正在使用以下代码: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
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吗?如果是这样的话,你会有更好的运气标记它和/或在