在 SharePoint 2013 中規劃人員選擇的自訂宣告提供者

 

**適用版本:**SharePoint Server 2013

**上次修改主題的時間:**2017-08-01

**摘要:**了解如何規劃人員選擇 web 控制項SharePoint Server 2013中自訂宣告提供者。

您可以使用的宣告提供者的隨附SharePoint Server 2013,或是您可以建立您自己的自訂宣告提供者連線至其他來源的宣告並提供其他宣告安全性權杖中的使用者。例如,如果您有包含 Active Directory 網域服務 (AD DS) 中的使用者存放庫中找不到的角色的客戶關係管理 (CRM) 應用程式,您可以建立連線至 CRM 資料庫並將 CRM 角色資料新增至使用者的原始安全性權杖的自訂宣告提供者。如需宣告提供者使用情況的詳細資訊,請參閱宣告提供者

SharePoint Server 2013中的宣告提供者用於以擴大宣告並提供名稱解析。在宣告增強角色中的宣告提供者會在登入時加強與其他宣告使用者安全性權杖。如需宣告增強的詳細資訊,請參閱宣告提供者。在名稱解析角色中的宣告提供者會列出、 解析為、 搜尋,並決定"易記"的使用者、 群組及宣告人員選擇] 中的顯示。宣告挑選讓應用程式以呈現在人員選擇 」,例如 SharePoint 網站或 SharePoint 服務的安全性設定時的宣告。如需人員選擇 」 的詳細資訊,請參閱規劃 SharePoint 2013 的人員選擇

根據預設,當執行查詢時,「人員選擇」中解析的資訊會依據宣告提供者提供的資訊。當您使用可立即使用的宣告提供者時,就無法變更提供的資訊以及資訊的顯示方式。如要變更,您必須建立符合您解決方案需求的自訂宣告提供者,以在使用者指派權限至網站、清單或文件庫等項目時,可尋找及選取使用者、群組及宣告。

當您建立一個自訂宣告提供者時,即可控制要顯示哪些資訊,以及要從「人員選擇」控制項中傳回哪些查詢結果。根據預設,您可設定 Web 應用程式以使用宣告驗證,然後在伺服器上登錄宣告提供者。

之前先閱讀本文,您應該了解在 SharePoint Server 中規劃使用者驗證方法宣告角色所述的概念。如需宣告式驗證的其他資訊,請參閱Sharepoint 宣告式身分識別宣告式身分識別及存取控制指南

本文內容:

  • 架構

  • 自訂宣告提供者設定範例

  • 在一個以上的伺服器陣列中使用自訂宣告

  • 自訂宣告提供者的考量

架構

當 web 應用程式設定為使用宣告式驗證時, SharePoint Server 2013會自動使用兩種預設宣告提供者:

  • SPSystemClaimProvider類別會提供與SharePoint Server 2013安裝所在的伺服器陣列相關的宣告資訊。

  • SPAllUserClaimProvider 類別提供「所有使用者」宣告。

Web 應用程式區域所選取的驗證方法,根據SharePoint Server 2013也會使用一或多個會列在表格 1 的預設宣告提供者。

表 1. 驗證方法與預設宣告提供者

驗證方法 宣告提供者

Windows 驗證

SPActiveDirectoryClaimProvider

表單型驗證

SPFormsClaimProvider

安全性聲明標記語言 (SAML) 權杖型驗證

SPTrustedClaimProvider

您可使用 Get-SPClaimProviderMicrosoft PowerShell Cmdlet 查看伺服器陣列的宣告提供者清單。

注意

當 web 應用程式設定為使用 SAML 權杖型驗證時,SPTrustedClaimProvider 類別不提供人員選擇 web 控制項的搜尋功能。在 「 人員選擇 」 控制項中輸入任何文字會自動顯示為已解析,不論是否有效的使用者、 群組或宣告。如果您SharePoint Server 2013解決方案會使用 SAML 權杖型驗證,您應該規劃建立自訂宣告提供者實作自訂的搜尋和名稱解析。

宣告提供者是登錄為部署至伺服器陣列上的功能,其使用範圍設在伺服器陣列層級。每個宣告提供者物件使用 SPClaimProviderDefinition 類別以包括宣告提供者的資訊,如:顯示名稱、說明、組件及類型。IsEnabled 及 IsUsedByDefault 是 SPClaimProviderDefinition 類別的兩個重要屬性,可判定登錄的宣告提供者是否在伺服器陣列中啟用,或特定區域中是否根據預設使用宣告提供者。根據預設,如果宣告提供者已部署至伺服器陣列,則所有宣告提供者都會啟用。如需有關 SPClaimProviderDefinition 類別的資訊,請參閱 SPClaimProviderDefinition。

如需有關區域及驗證的詳細資訊,請參閱<在 SharePoint Server 中規劃使用者驗證方法>。

自訂宣告提供者設定範例

根據預設,當您註冊自訂宣告提供者伺服器陣列上,IsEnabled 和 IsUsedByDefault 屬性會是這兩個設為 True。視需要SharePoint Server 2013解決方案,每個區域及使用者所使用的每個區域的驗證方法的區域數目而定可能會想要限制在其自訂宣告提供者會顯示在 [人員選擇的區域。

因為宣告提供者的使用範圍是設在伺服器陣列層級,並在區域層級中啟用,因此您必須仔細規劃您想顯示自訂宣告提供者的區域。一般而言,您應確認 IsUsedByDefault 屬性是設定為 False,然後為每個您想使用自訂宣告提供者的區域設定 SPIisSettings 類別。如要設定所選區域的自訂宣告提供者,您可建立 PowerShell 指令碼以設定區域設定宣告提供者,方法是使用 ClaimsProviders 屬性,或者,您可建立自訂應用程式以在所選區域中使用自訂宣告提供者。

舉例來說,在有兩個 Web 應用程式的情況下:

  • 第一個 Web 應用程式 (PartnerWeb) 有兩個區域,一個內部網路使用 Windows 宣告式驗證,一個內部網路使用表單型驗證,並且使用於員工與合作夥伴的共同作業。

  • 第二個 Web 應用程式 (PublishingWeb) 只有一個區域,其使用表單型驗證,並且是針對員工、企業合作夥伴與客戶合作夥伴的網際網路發佈網站。

現在,假設在 PartnerWeb 的外部網路上,您想讓員工可以和業務合作夥伴共同作業,但不包含客戶合作夥伴,那麼,您就要撰寫自訂宣告提供者,以依據使用者身分識別來決定目前使用者是業務合作夥伴或客戶合作夥伴。在這個範例中,來自 fabrikam.com 的使用者是企業合作夥伴,而來自 contoso.com 的使用者是客戶合作夥伴。當使用者在 PartnerWeb Web 應用程式已驗證為企業合作夥伴時,名為 BusinessPartner 的角色宣告會新增至該宣告的 Token。當使用者已驗證為客戶合作夥伴時,名為 CustomerPartner 的角色宣告會新增至該宣告 Token。

如要確認一律不將客戶合作夥伴新增至外部網路共同作業網站,您可在外部網路區域的 PartnerWeb Web 應用程式上新增一個 Web 應用程式原則,來明確拒絕任何具備名為 CustomerPartner 角色宣告的使用者之存取權。自訂宣告提供者也必須實作搜尋及 Web 應用程式原則的輸入支援,以解析 CustomerPartner 角色宣告,並將其新增至 Web 應用程式原則。最後,如要在外部網路區域啟用這項功能,您必須設定該區域的 SPIisSettings 類別使用自訂宣告提供者。下列圖表說明每個 Web 應用程式及區域的驗證方法與宣告提供者設定。

圖表 1. Web 應用程式及區域的驗證方法與宣告提供者設定範例

SPIisSettings 圖

您可在您為自訂宣告提供者所建立的功能接收器中設定 IsUsedByDefault 屬性。

您也可使用 Set-SPClaimProviderPowerShell Cmdlet,覆寫 IsEnabled 與 IsUsedByDefault 屬性的設定。

重要

如果將 IsEnabled 屬性變更為 False,則會停用伺服器陣列的宣告提供者。如果您需要針對可能因自訂宣告提供者造成的問題進行疑難排解,這就很實用。一般而言,IsEnabled 屬性應設定為 True。

在一個以上的伺服器陣列中使用自訂宣告

宣告值是由宣告本身、宣告提供者名稱,及宣告提供者在伺服器上安裝之順序組合而成。因此,如果您想要跨多個伺服器陣列或環境使用宣告,您必須在您想使用宣告的每一個伺服器陣列中,用相同順序安裝宣告提供者。如果您已安裝自訂宣告提供者,且想在其他伺服器陣列上使用相同宣告,請使用下列步驟:

  1. 以與第一個伺服器陣列相同的順序在其他伺服器陣列上登錄宣告提供者。

  2. 執行第一個伺服器陣列的備份。如需有關如何備份伺服器陣列的詳細資訊,請參閱<在 SharePoint Server 中備份伺服器陣列>。

  3. 使用第一個伺服器陣列的備份來還原其他伺服器陣列。如需有關如何還原伺服器陣列的詳細資訊,請參閱<在 SharePoint Server 中還原伺服器陣列>。

自訂宣告提供者的規劃考量

若您計劃要在 SharePoint 解決方案中搭配「人員選擇」使用宣告提供者,請考慮下列問題:

  • 您的 Web 應用程式有哪些區域?每個區域中使用何種驗證方式?

  • 是否必須將任何自訂宣告新增至使用者,以啟用更進階的使用權限或安全使用情況?

  • 您是否會對信任的身分識別提供者使用 SAML 驗證?

  • 在「人員選擇」查詢結果中,使用者及角色的值的來源為何?

SharePoint Server 2013內容發佈小組想要感謝 Steve Peschka 對本文的貢獻。請仔細 Steve Peschka共用-n-dipity TechNet 部落格

See also

人員選擇與宣告提供者概觀
在 SharePoint Server 中規劃使用者驗證方法