如何为SPItem授予SPGroup权限?
我试图找到一个简单的例子,如何为列表项Z提供一个特定的Sharepoint组X,一个权限级别Y,但是找不到示例代码。
我可以为项目分配特定用户权限(在本例中为“Reader”)的最短代码如下:
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://"); listItem.BreakRoleInheritance(true); listItem.RoleAssegnments.Add(roleAssignment); listItem.Update();
我知道SPRoleAssignment.Add
也可以采用SPPrincipal
,而SPPrincipal
又是一个组 – 我只是不知道怎么写它。
请给我一些示例代码,了解如何将具有“Reader”权限级别的现有Sharepoint组(例如“MyGroup”)添加到我的项目中。
实际上它很容易 – 而不是SPRoleAssignment("user","name"...)
我可以添加一个SPGroup
到角色分配,它工作! 完整代码如下:
//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://"); listItem.BreakRoleInheritance(true); listItem.RoleAssegnments.Add(roleAssignment); listItem.Update();
- HtmlAgilityPack – 获取文档中的所有节点
- C#Ghostscript Wrapper
- 为什么扩展方法不适用于命名空间别名?
- 通过SqlConnection / SqlCeConnection连接到.sdf数据库的问题
- facebook v2.2登录C#
- 如何在当前上下文中访问WCF服务实例?
- 将图像从图像控件存储到StorageFile
- 在Visual Studio 2015扩展中更改项目中的文件ProjectItem的内容?
- 在.NET远程处理RemotingConfiguration.RegisterWellKnownServiceType和RemotingServices.Marshal之间有什么区别?