首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为SPGroup授予SPItem权限?

如何为SPGroup授予SPItem权限?
EN

Stack Overflow用户
提问于 2011-02-08 14:20:50
回答 1查看 17.4K关注 0票数 5

我试图找到一个简单的例子,如何为列表项目Z提供一个特定的Sharepoint组X,一个权限级别Y -但是找不到示例代码。

为该项分配特定的用户权限(在本例中为“Reader”),我可以找到的最短代码如下:

代码语言:javascript
复制
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();

我知道SPRoleAssignment.Add也可以使用SPPrincipal,而这反过来又是是一群 --我只是不知道如何编写它。

请给我一些例子代码,如何添加一个现有的Sharepoint组。( "MyGroup")具有“读取器”权限级别的项目。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-08 14:44:36

实际上,这相当容易--而不是SPRoleAssignment("user","name"...),我只需要在角色分配中添加一个SPGroup就可以了!完整代码如下:

代码语言:javascript
复制
//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();
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4934168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档