sharepoint - 检查当前用户是否可以查看 SharePoint CSOM 中的列表

标签 sharepoint csom

如何确定当前用户是否可以在 SharePoint Online/Office365 中查看列表项或读取列表?

我有一些返回列表的工作代码

// Retrieve all lists from the server. 
        context.Load(web.Lists,
                     lists => lists.Include(list => list.Title,
                                            list => list.Id,                                                
                                            list => list.Hidden,
                                            list => list.BaseTemplate,
                                            list => list.BaseType));

        // Execute query. 
        context.ExecuteQuery();

        // Enumerate the web.Lists. 
        foreach (List list in web.Lists)
        {
            if (list.Hidden ||
                list.BaseType != BaseType.GenericList) continue;
           // .... check permissions here before adding ...
            names.Add(list.Id.ToString(), list.Title);
        }

但我不知道如何测试当前用户是否可以访问列表项。

最佳答案

修改示例

ctx.Load(web.Lists,
           lists => lists.Include(list => list.Title,
                                  list => list.Id,
                                  list => list.Hidden,
                                  list => list.BaseTemplate,
                                  list => list.BaseType,
                                  list => list.EffectiveBasePermissions));

ctx.ExecuteQuery();

foreach (List list in web.Lists)
{
   if (list.Hidden ||
         list.BaseType != BaseType.GenericList) continue;

   if (!list.EffectiveBasePermissions.Has(PermissionKind.ViewListItems)) continue; //verity List permissions

}

关于sharepoint - 检查当前用户是否可以查看 SharePoint CSOM 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400634/

相关文章:

javascript - 使用添加为 WebPart 的 Javascript 片段从 SharePoint 列表中检索列表项数据

c# - 绑定(bind)一个下拉列表,然后添加一个新的列表项

c# - 在每个月和每天的日期范围内循环

sharepoint - 从 SharePoint 下载 MS Graph API 文件

SharePoint/GetVersionCollection - 如何识别哪个版本?

c# - 更新 sharepoint 2013 自定义列表的字段 "Modified"C#

sharepoint - 在azure上设置sharepoint开发环境?

javascript - 共享点 2013 : How to update multi-value lookup field using JavaScript CSOM

网站上不存在 Sharepoint 列表,但在调试时它存在于我的代码中

xml - 如何使用 Power Automate HTTP 请求将 SharePoint Online 中的用户字段设置为 _vti_bin/client.svc/ProcessQuery?