【问题标题】:REST API to manage users on Sharepoint用于管理 Sharepoint 上的用户的 REST API
【发布时间】:2017-06-12 11:35:00
【问题描述】:

作为REST API to manage users on skype for business 的后续问题,我想了解Sharepoint Server User APIMS Graph API for Users 的不同之处。 Graph 文档表明我们可以像管理 Office 365 用户一样使用它来管理 Sharepoint 用户。但是,存在不属于 Office 365 计划的独立 Sharepoint 安装(例如版本,例如 2007、2010 等)。

上面链接的 Graph API Docs 说用户资源代表一个“Azure AD 用户帐户”。但是,Sharepoint 用户文档说它代表“Microsoft SharePoint Foundation 中的用户”。这些用户是否完全不同?

我们要做的只是为我们的客户管理用户,其中有些人订阅了 Office 365,有些人只使用独立的 Sharepoint 设置。我们不关心应用程序特定的功能,例如访问共享点文件、站点,甚至管理 Word 文档、Excel 表格等,那么 Graph API 是否也支持在这种情况下管理用户?

【问题讨论】:

    标签: sharepoint microsoft-graph-api


    【解决方案1】:

    该 API 仅适用于 SharePoint 2013+

    您的问题中链接的用户管理 REST API 专门用于 SharePoint 2013,并且可能也适用于 SharePoint 2016。这与 SharePoint 环境是在本地还是在云中无关。

    就特性和功能而言,Office 365 目前是 SharePoint 2013/2016 的子集。

    请注意,SharePoint 2007 和 2010 将没有此 API。

    SharePoint 用户和 Azure AD 帐户不是同义词

    考虑 SharePoint 和 AD 可以彼此独立存在。

    SharePoint 不需要使用 Azure Active Directory 进行身份验证。它可以使用传统的本地或云托管的 Active Directory,或者理论上(从 2010 版开始)可以使用除 Active Directory 之外的任何基于声明的身份验证提供程序。

    SharePoint 2007 和 2010 还可以支持基于简单表单的身份验证以及自定义身份验证提供程序,但如前所述,这些版本的 SharePoint 都没有公开相关的 REST API。

    AD = 身份验证; SharePoint 用户 = 授权

    Azure AD 是声明提供程序。声明提供者用于身份验证;当您登录到 SharePoint 时,SharePoint 依靠 Active Directory 来确定您就是您所说的那个人。用户的 SharePoint 帐户用于授权; SharePoint 帐户被授予逐个站点访问 SharePoint 中内容的权限。

    AD 中的信息与 SharePoint 中的信息

    使用 Azure AD 进行身份验证时,SharePoint 中的数据与 AD 中的数据之间通常存在一些重叠区域。

    SharePoint 的用户配置文件服务通常设置为将数据从 Active Directory 同步到 SharePoint,以便 AD 用作用户显示名称和标题等主数据集。但是,并非所有信息都必须从 AD 同步到 SharePoint,并且可以将其他信息附加到 SharePoint 用户配置文件中。

    AD 中的组成员身份与 SharePoint 中的组成员身份

    在 Azure AD 中,一个用户可以是多个组的成员。组可以包括 Active Directory 组(可以嵌套)和 Office 365 (SharePoint) 组(不能嵌套)。

    SharePoint 用户只能是 SharePoint 组的成员,因为 SharePoint 不跟踪 Active Directory 组的成员。也就是说,由于 Active Directory 组已被授予访问权限,因此用户可能间接访问 SharePoint 中的内容。

    AD 用户范围与 SharePoint 用户范围

    除非您直接使用用户配置文件服务,否则当您以编程方式使用 SharePoint 用户时,需要从 SharePoint 中的特定网站检索他们。这是因为每个网站集都有自己的一组组,这些组不能在 SharePoint 场中的其他网站集上使用,因此组成员资格仅在逐个网站的基础上进行跟踪。

    请注意,这意味着用户的查找 ID 号(不同于其登录名)可能因网站集而异。这也意味着用户的组集合将根据从中检索用户对象的站点而有所不同。

    Azure AD 用户没有这样的孤岛。

    【讨论】:

    • 感谢您的详细解释。两个问题 - 1. 我们没有针对 2010 及以下版本的单独用户 API 集吗?我在 MSDN 上找不到。 2.因此假设Sharepoint服务器确实使用AAD进行身份验证,使用MS Graph API创建用户可以用来登录的帐户是否足够好?当然,用户还没有被授权使用任何创建的 Sharepoint 站点。我们感兴趣的只是创建他们可以用来登录的用户帐户。
    • 1. SP2007 和 2010 有一个名为 UserGroups.asmx 的基于 SOAP 的 Web 服务,您可以使用它来管理权限。 SharePoint 2010 还引入了您可以使用的managed .NET Client Object Model API
    • 2.如果您只是想创建登录,而不是授予特定访问权限,那么是的,您需要做的就是在 AAD 中创建帐户。请注意,您插入 AD 的所有信息可能不会立即转移到 SharePoint 中,尤其是对于本地环境,因为您依赖用户配置文件同步服务将信息从 AD 复制到 SharePoint;在同步作业运行之前,新用户可能会显示他们的准系统登录名而不是友好的显示名。
    猜你喜欢
    • 1970-01-01
    • 2016-01-22
    • 2019-12-30
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    相关资源
    最近更新 更多