Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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# 如何为SPItem授予SPGroup权限?_C#_Visual Studio 2010_Permissions_Sharepoint 2010 - Fatal编程技术网

C# 如何为SPItem授予SPGroup权限?

C# 如何为SPItem授予SPGroup权限?,c#,visual-studio-2010,permissions,sharepoint-2010,C#,Visual Studio 2010,Permissions,Sharepoint 2010,我试图找到一个简单的示例,说明如何为列表项Z指定特定的Sharepoint组X(权限级别Y),但找不到示例代码 我能想到的为项目分配特定用户权限(“本例中为“阅读器”)的最短代码如下: SPRoleDefinition spRole = spWeb.RoleDefinitions["Reader"]; SPRoleAssignment roleAssignment= new SPRoleAssignment("//myDomain/myUser",

我试图找到一个简单的示例,说明如何为列表项Z指定特定的Sharepoint组X(权限级别Y),但找不到示例代码

我能想到的为项目分配特定用户权限(“本例中为“阅读器”)的最短代码如下:

SPRoleDefinition spRole = spWeb.RoleDefinitions["Reader"];    
SPRoleAssignment roleAssignment= new SPRoleAssignment("//myDomain/myUser",
                                                      "none@example.org",
                                                      "Name", "Notes");    
roleAssignment.RoleDefinitionBindings.Add(spRole);

SPListItem listItem = spWeb.GetListItem("http://<URL to item somewhere on the Site>");
listItem.BreakRoleInheritance(true);
listItem.RoleAssegnments.Add(roleAssignment);
listItem.Update();
//note: using SiteGroups is "safer",
//because also groups which don't yet have any permissions are included
SPGroup spGroup = spWeb.SiteGroups["MyGroup"];
SPRoleDefinition spRole = spWeb.RoleDefinitions["Read"]; 

SPRoleAssignment roleAssignment= new SPRoleAssignment(spGroup);
roleAssignment.RoleDefinitionBindings.Add(spRole);

SPListItem listItem = spWeb.GetListItem("http://<URL to item somewhere on the Site>");
listItem.BreakRoleInheritance(true);
listItem.RoleAssignments.Add(roleAssignment);
listItem.Update();
SPRoleDefinition spRole=spWeb.RoleDefinitions[“Reader”];
SPRoleAssignment roleasignment=新的SPRoleAssignment(“//myDomain/myUser”,
"none@example.org",
“名称”、“注释”);
roleasignment.RoleDefinitionBindings.Add(spRole);
SPListItem=spWeb.GetListItem(“http://”);
listItem.BreakRoleInheritance(真);
列表项.roleasegments.Add(roleasignment);
Update();
我知道,
SPRoleAssignment.Add
也可以接受
SPPrincipal
,而这反过来又会发生-我只是不知道如何编写它


请给我一些示例代码,说明如何将具有“Reader”权限级别的现有Sharepoint组(例如“MyGroup”)添加到我的项目中。

事实上,这相当简单-而不是
SPRoleAssignment(“user”、“name”…)
我只需将
SPGroup
添加到角色分配中,就可以了!完整代码如下:

SPRoleDefinition spRole = spWeb.RoleDefinitions["Reader"];    
SPRoleAssignment roleAssignment= new SPRoleAssignment("//myDomain/myUser",
                                                      "none@example.org",
                                                      "Name", "Notes");    
roleAssignment.RoleDefinitionBindings.Add(spRole);

SPListItem listItem = spWeb.GetListItem("http://<URL to item somewhere on the Site>");
listItem.BreakRoleInheritance(true);
listItem.RoleAssegnments.Add(roleAssignment);
listItem.Update();
//note: using SiteGroups is "safer",
//because also groups which don't yet have any permissions are included
SPGroup spGroup = spWeb.SiteGroups["MyGroup"];
SPRoleDefinition spRole = spWeb.RoleDefinitions["Read"]; 

SPRoleAssignment roleAssignment= new SPRoleAssignment(spGroup);
roleAssignment.RoleDefinitionBindings.Add(spRole);

SPListItem listItem = spWeb.GetListItem("http://<URL to item somewhere on the Site>");
listItem.BreakRoleInheritance(true);
listItem.RoleAssignments.Add(roleAssignment);
listItem.Update();
//注意:使用站点组“更安全”,
//因为还包括尚未具有任何权限的组
SPGroup SPGroup=spWeb.SiteGroups[“MyGroup”];
SPRoleDefinition spRole=spWeb.RoleDefinitions[“Read”];
SPRoleAssignment角色分配=新的SPRoleAssignment(spGroup);
roleasignment.RoleDefinitionBindings.Add(spRole);
SPListItem=spWeb.GetListItem(“http://”);
listItem.BreakRoleInheritance(真);
列表项。角色分配。添加(角色分配);
Update();

谢谢,我遇到了完全相同的问题,很好的解决方案!当我在构造函数中给spgroup时,我在roleAssignment中得到空值。怎么办?该组已找到,但不工作。一个输入错误。这是角色扮演,不是角色扮演