在 SharePoint 网站中查找具有直接访问权限的用户

问题描述 投票:0回答:1

当我试图找到在网站中具有直接访问权限的用户时,还有一些名为“共享此文件夹中的所有内容,甚至具有唯一权限的项目”的复选框。可在 SharePoint 项目的权限页面上找到。

因为我需要找到具有直接访问权限的用户的解决方案,并且用户是否选中了此复选框。使用 Graph API 或 CSOM 获取这些数据可能会更好。

sharepoint sharepoint-online csom
1个回答
0
投票

要实现此目标,您可以使用 SharePoint CSOM(客户端对象模型),因为它提供了与 SharePoint 资源(包括权限)交互的强大方法。您可以使用 C# 编写控制台应用程序或脚本来实现此目的。

RoleAssignmentCollection roleAssignments = web.RoleAssignments;
clientContext.Load(roleAssignments, ras => ras.Include(ra => ra.Member, ra => ra.RoleDefinitionBindings));
clientContext.ExecuteQuery();

foreach (RoleAssignment roleAssignment in roleAssignments)
{
    Principal principal = roleAssignment.Member;
    foreach (RoleDefinition roleDefinition in roleAssignment.RoleDefinitionBindings)
    {
        if (roleDefinition.Name == "Direct Access")
        {
            Console.WriteLine($"User: {principal.LoginName}");
            // Check the checkbox state here
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.