【问题标题】:Right User Permissions to use ListItem.GetUserEffectivePermissions method使用 ListItem.GetUserEffectivePermissions 方法的正确用户权限
【发布时间】:2023-02-14 20:19:12
【问题描述】:

我目前正在使用 SharePoint 帐户作为服务帐户来获取文件并在我正在使用的应用程序中共享它们CSOM.我根据登录用户过滤文件,检查用户是否没有访问该文件的权限,然后将其隐藏,以防止他尝试访问它并得到“权限被拒绝”的错误。

因此,我使用 ListItem.GetUserEffectivePermissions 来解决这个问题,但我只需要授予用户他需要访问和进行检查的权限。

我查看了ListItem.GetUserEffectivePermissionshere 的官方文档,但不幸的是,我没有找到直接的线索是哪个权限可以完成这项工作。

所以回顾一下这个服务帐户需要做的是:

1- 在所有共享点文件 [SearchExecutor] 中执行搜索。

2- 使用Utility.ResolvePrincipal 通过电子邮件获取登录名(用于GetUserEffectivePermissions 函数)。

3- 使用GetUserEffectivePermissions 检查登录用户是否有权查看文件。

非常感谢您的帮助,因为我是 SharePoint 的新手,我搜索了很多但没有找到我需要什么的线索。

【问题讨论】:

    标签: c# sharepoint csom


    【解决方案1】:

    我建议您改变架构方法。不要试图管理用户在 SharePoint 中拥有的权限,而是让 SharePoint 像它已经做的那样处理它。相反,让您的应用程序使用 OBO(代表)令牌,该令牌将尊重登录用户在 SharePoint 中的权限,并且仅返回用户有权访问的项目。 MSAL中OBO流程的详细概述,请参考this文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-17
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-26
      • 2018-04-22
      相关资源
      最近更新 更多