本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

設定及部署 SharePoint 2013 中的網頁組件

 

適用版本:SharePoint Foundation 2013, SharePoint Server 2013

上次修改主題的時間:2016-12-16

摘要:了解如何在 SharePoint 2013 中保護和部署網頁組件。

適用於:

SharePoint 2013 包括使用者在安裝產品之後可新增至頁面的一組網頁組件。如果組織需要自訂網頁組件,則開發人員可以撰寫自訂 ASP.NET 網頁組件,並要求您進行安裝。此程序一般需要先測試和核准程式碼,才能在完全信任環境中部署網頁組件。在專案上按一下滑鼠右鍵,並選取 [部署],使用 Visual Studio 的開發人員就可以將網頁組件部署至 SharePoint 2013。開發人員在 Visual Studio 中建立專案時,會透過使用 SharePoint 伺服器所建立的信任層級來決定網頁組件的目的地。

SharePoint 2013會使用一些由 Microsoft.NET Framework 所提供的組態管理設定。某些這些設定會儲存在 XML 組態檔並提供多種伺服器系統管理員管理 Web 應用程式和其環境使用的設定。如需 ASP.NET 設定檔的詳細資訊,請參閱Machine.Config 和 Web.Config "保護 Your ASP.NET 應用程式及 Web 服務 」 在 MSDN Library Online 中。

本文內容:

ASP.NET 網頁組件會部署至 SharePoint 2013bin 目錄全域組件快取 (GAC)

  • Bin 目錄   儲存在 Web 應用程式根目錄的 bin 資料夾下。

  • 全域組件快取 (GAC)   所有標準網頁組件都會自動安裝至 GAC (.NET Framework 的 Common Language Runtime 所在位置,即 %windir%\assembly)。GAC 中所儲存的網頁組件可以在應用程式之間共用。

下表說明每個位置的優缺點。

 

部署位置 優點 缺點

Bin 目錄

局部信任位置。從此目錄執行的程式碼預設具有低層級的程式碼存取安全性權限。如果網頁組件需要跨應用程式進行存取,或需要的存取權高於允許的預設權限,則系統管理員必須明顯地提高授與網頁組件使其正確運作的權限。系統管理員可能偏好在 Bin 目錄 (具有一組已知最低必要程式碼存取安全性權限) 中執行組件。

Bin 目錄是 Web 應用程式特有的目錄,因此,如果您想要將程式碼隔離到單一 Web 應用程式,則可以使用此方法。

若要在任何位置執行網頁組件,則必須將組件部署至每部已安裝 Web Front End 角色之 SharePoint 產品 伺服器的 Bin 目錄中。

GAC

可部署已簽署組件的全域位置,而已簽署組件預設可以使用完全信任來執行。組件是在全域進行安裝,因此可以在任何 Web 應用程式中運作。

安裝至 GAC 的程式碼一般沒有程式碼存取安全性限制;因此,會遺失深入防禦安全性的優點。

此外,可能很難將程式資料庫 (.pdb) 檔案部署至 GAC 中的組件。

Bin 目錄中所儲存的 ASP.NET 網頁組件具有其他安全性屬性。您可以決定是否為網頁組件設定這些屬性 (視如何規劃其使用方式而定)。

Bin 目錄是局部信任位置。因此,執行網頁組件時,不會將完全信任程式碼權限自動授與您的網頁組件。因為呼叫到網頁組件的程式碼只會獲得授與局部信任權限,所以網頁組件開發人員必須在 ASP.NET 網頁組件上設定 AllowPartiallyTrustedCallers 屬性。

使用 AllowPartiallyTrustedCallers 屬性將元件標示為「安全」時,開發團隊需要負責安全地實作。

Bin 目錄和其內容預設會獲指派最低程式碼存取安全性權限。您應該仔細地測試網頁組件,以判斷要指派的正確權限層級,以及確定網頁組件不會對環境造成安全性風險。

您可以使用下列兩種方式提高權限:

  • (建議)建立信任原則檔,並指向新的檔案您 Web.config 檔。此選項會較複雜,但它可讓您設定的網頁組件的精確權限。如需信任原則檔案的詳細資訊,請參閱 MSDN Library Online 中的Microsoft Windows SharePoint Services 和程式碼存取安全性

  • 提高 Bin 目錄的整體信任層級。在 Web 應用程式根目錄的 Web.config 檔案中,找到 trust 元素。trust 元素之 level 屬性的預設值是 WSS_Minimal。您可以將此層級變更為 WSS_Medium。雖然此選項較為簡單,但是會授與可能不需要的任意新權限,因此它的安全性低於建立信任原則檔案。

    警告 警告:
    Web.config 檔案中的 WSS_MinimalWSS_Medium 項目區分大小寫。

安全控制項清單包含 SharePoint 網站特有的控制項和網頁組件的名稱,而伺服器管理員可以將它們指定為安全,以用於網站內的任何 .aspx 頁面。此清單是 Web 應用程式根目錄中 Web.config 檔案的一部分。

用來部署新網頁組件的方法取決於開發人員所提供的已完成套件。如果開發人員將網頁組件提供為單一動態連結程式庫 (DLL) 檔案,則將 DLL 複製至 Web 應用程式的 Bin 資料夾,就可以手動部署 DLL。如果開發人員提供內含網頁組件的 CAB 檔案,則您可以使用 Windows PowerShell 來部署網頁組件。

手動部署和設定網頁組件
  1. 確認是否具備下列系統管理認證:

    • 您必須是主控SharePoint 產品之伺服器上的本機管理員群組的成員。

  2. 將專案 Bin 目錄中的 <YourWebPartName>.dll 組件複製至 Web 應用程式根目錄的 Bin 目錄中。例如:C:\inetpub\wwwroot\wss\VirtualDirectories\80\。

  3. 在應用程式根目錄中找到 Web.config 檔案,並開啟它進行編輯。

  4. 將自訂組件的下列安全控制項項目新增至 Web.config 檔案:

    <SafeControl Assembly="<YourWebPartName>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="<YourWebPartNamespace>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>
    

    其中:

    1. <YourWebPartName> 是正在部署之網頁組件的名稱。

    2. <YourWebPartNamespace> 是與網頁組件相關聯的命名空間。

手動安裝網頁組件至 Bin 資料夾或手動變更 Web.config 檔案的替代方法是使用Windows PowerShell安裝的網頁組件套件。若要搭配使用此程序,開發人員或系統管理員必須網頁組件建立 CAB 方案套件。如需建立 CAB 套件的詳細資訊,請參閱 MSDN Library Online 中的解決方案和網頁組件套件 。建立 CAB 檔案之後,請遵循下列步驟來部署網頁組件。

使用 Windows PowerShell 部署網頁組件
  1. 確認符合下列基本需求:請參閱<Add-SPShellAdmin>。

  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

  5. 在 Windows PowerShell 命令提示字元處 (PS C:\>),輸入下列命令,然後按 ENTER 鍵:

    Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"
    

    其中:

    • <PathToCabFile> 是正在部署之 CAB 檔案的完整路徑。

    • <WebPartName> 是正在部署之網頁組件的名稱。

注意事項 附註:
上一個程序顯示如何使用 Install-SPWebPartPack 來部署網頁組件。您可以指定其他參數來變更網頁組件的部署方式。如需詳細資訊,請參閱 Install-SPWebPartPack

注意事項 附註:
建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。

每個網頁組件都應該有 .webpart 檔案,這是說明網頁組件的 XML 檔案。.webpart 檔案也會導致網頁組件出現在網頁組件庫。部署網頁組件並在安全控制項清單中登錄它之後,下列程序是建立 .webpart 檔案的最簡單方式。

將元件新增至網頁組件庫
  1. 確認是否具備下列系統管理認證:

    • 您必須是伺服器陣列管理員群組的成員。

  2. 若要建立 .webpart 檔案,請導覽至 http://<MyServer>/_layouts/newdwp.aspx,其中 <MyServer> 是在其中部署 SharePoint 網站的伺服器名稱。

  3. 選取 <YourWebPartNamespace>.<YourWebPartName> 旁邊的核取方塊。

  4. 按一下 [填入組件庫],將 YourWebPartName 網頁組件新增至小組網站庫。

  5. 在網頁組件庫中,選取 [編輯] 來編輯網頁組件,然後按一下 [匯入]。

    系統會提示您指定 .webpart 檔案的位置。您也可以匯出 ASP.NET 網頁組件,並將它們匯入至 SharePoint 網站。

https://technet.microsoft.com/zh-tw/library/ff428120.aspx
顯示: