为基于 SharePoint 服务器的集成定义自定义声明映射

对于基于服务器的 SharePoint 集成,Dynamics 365 Customer Engagement(本地)使用声明对 Customer Engagement 用户进行身份验证和授权,以访问存储在 SharePoint 中的文档。 有关基于声明的身份验证的详细信息,请参阅 SharePoint 2013 中的基于声明的标识

默认情况下,Customer Engagement 使用以下声明与 SharePoint 集成:

Scenario Claims
Customer Engagement 和 SharePoint Online NameId (PUID)

Dynamics 365 Customer Engagement(本地)和 SharePoint 共享用于用户标识的 Azure Active Directory。
客户互动和内部部署 SharePoint SMTP (email)

没有用户标识的共享 Active Directory 基础结构,身份声明以 SMTP 地址形式发送。 用户声明从 Dynamics 365 Customer Engagement(本地)中的 WindowsLiveID 字段提取,并关联到 SharePoint 中的工作电子邮件地址。
Dynamics 365 Customer Engagement (本地)和 SharePoint Online SMTP (email)

没有用户标识的共享 Active Directory 基础结构,身份声明以 SMTP 地址形式发送。 声明信息从 Dynamics 365 Customer Engagement(本地)中的 PrimaryEmailAddess 字段获取,并映射到 SharePoint 中的工作电子邮件地址。
Dynamics 365 客户互动(本地)和本地 SharePoint SMTP (email)

Dynamics 365 Customer Engagement(本地)和 SharePoint 共享 Microsoft Windows Server Active Directory 用于身份识别。

可以使用 UserMapping 实体在 Customer Engagement 中指定自定义声明映射,以使用除 Customer Engagement 在 SharePoint 中对用户进行身份验证和授权时的默认值之外的另一个值。 例如,可以使用用户的“姓氏”和“名字”而不是“电子邮件”在 SharePoint 中对 Customer Engagement 用户进行身份验证。 自定义声明映射替代 Customer Engagement 使用的默认声明映射。 可以在 Customer Engagement 中定义多个自定义声明映射。 默认情况下,只有拥有系统管理员角色的用户才能访问实体 UserMapping

若要在 Customer Engagement 中定义自定义声明映射,请创建实体 UserMapping 记录,并指定下表中列出的属性值。

Attribute 价值 Description
UserMapping.PartnerApplicationType - 0:SharePoint
- 1:仅供内部使用。
此声明映射将应用于的合作伙伴应用程序类型。 在当前版本中,仅支持 0(SharePoint)。
UserMapping.SystemUserAttributeName 字符串值 声明值将取自 SystemUser(用户)实体中属性的逻辑名称。 注意: 如果用于自定义声明映射的属性不包含值,则客户参与将使用默认声明映射。 例如,如果要使用用户的名字作为自定义声明映射的属性,并且缺少用户的名字,Customer Engagement 将使用默认声明映射(PUID 或电子邮件)。
UserMapping.ClaimType 字符串值 指定要发送到 SharePoint 的声明类型。 有关声明类型的列表,请参阅 ClaimTypes 成员注意: 引用的声明类型列表仅供参考。 SharePoint 可能不支持列出的所有声明类型,也可能不包含 SharePoint 支持的所有声明类型。

以下示例代码演示如何使用 UserMapping 实体定义自定义声明映射。

UserMapping customMapping = new UserMapping  
{  
   PartnerApplicationType = new OptionSetValue(0),  
   SystemUserAttributeName = "personalemailaddress",  
   ClaimType = "smtp"  
};  
_serviceProxy.Create(customMapping);  

注释

具有有效值的实体的任何实例 UserMapping 都将替代 Customer Engagement 使用的默认声明映射。

默认情况下,SharePoint 支持以下声明类型:NameId(PUID)、SMTP(电子邮件)和 UPN(用户主体名称)。 如果要传递任何其他类型的声明,则还必须在 SharePoint 中创建相应的声明类型映射。 详细信息:New-SPClaimTypeMapping

另请参阅

UserMapping 实体
将 Microsoft Dynamics 365 Customer Engagement (on-premises) 与 SharePoint 集成