【发布时间】:2015-06-30 02:17:08
【问题描述】:
以下代码归功于 Vadim Gremyachev。我的目标是使用CSOM 授予用户对某些SharePoint 文件夹的访问权限。我想要实现的目标是访问名为JZhu 的库,在JZhu 库中,我有两个文件夹folder1 和folder2。我正在尝试将Reader 权限授予folder1。到目前为止,代码不起作用,因为我在第 6 行遇到异常:
字段或属性“ListItemAllFields”不存在
ClientContext context = new ClientContext("http://myRealUrl");
Principal user = context.Web.EnsureUser(@"myLoginAccout");
var folder = context.Web.GetFolderByServerRelativeUrl("JZhu/folder1");
var roleDefinition = context.Site.RootWeb.RoleDefinitions.GetByType(RoleType.Reader); //get Reader role
var roleBindings = new RoleDefinitionBindingCollection(context) { roleDefinition };
folder.ListItemAllFields.BreakRoleInheritance(true, false); //line 6
folder.ListItemAllFields.RoleAssignments.Add(user, roleBindings);
context.ExecuteQuery();
【问题讨论】:
标签: c# sharepoint permissions sharepoint-clientobject