在伺服器上設定及部署安全的網頁組件 (Office SharePoint Server)

Microsoft Office SharePoint Server 2007 附有一組網頁組件,而在網站管理員安裝產品之後,可以將它們新增至網頁組件頁面。不過,貴組織可能需要自訂網頁組件。在這種情況下,開發人員會撰寫自訂建置的 ASP.NET 2.0 網頁組件,並要求您將它們安裝到 Office SharePoint Server 2007 的部署。

Office SharePoint Server 會使用一些由 Microsoft .NET Framework 所提供的設定管理設定。這些設定有一部分儲存在 XML 設定檔,並提供廣泛的設定,讓伺服器管理員管理 Web 應用程式和其環境。如需 ASP.NET 2.0 設定檔的詳細資訊,請參閱 MSDN Library Online <保護 ASP.NET 應用程式和 Web 服務>中所說明的 Machine.Config 和 Web.Config (英文) (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x404) 。

設定選項

系統管理員可以在以下兩個位置中選擇其一,將 ASP.NET 2.0 網頁組件部署至 Office SharePoint Server 的部署:

  • Bin 目錄 儲存於 Web 應用程式根目錄。

  • 全域組件快取 (GAC) 所有標準網頁組件都會自動與 .NET Framework 的 Common Language Runtime 一起安裝。儲存在 GAC 中可讓您在眾多的應用程式之間共用網頁組件。元件通常會儲存在 C:\WINNT\Assembly 中。

如下表所述,每個位置都有其優缺點。

部署位置 優點 缺點

Bin 目錄

部分信任位置。從這個目錄執行的程式碼預設具有低層級的程式碼存取安全性權限。管理員必須明確地提高授與網頁組件的權限,使其正常運作。因為這個控制層級和深入防禦,所以管理員偏好在 Bin 目錄中執行組件,並使用已知的必要程式碼存取安全性權限。

Bin 目錄也是 Web 應用程式特有的。這可用來區隔特定 Web 應用程式的程式碼。

若要在任意位置執行網頁組件,則必須部署 Bin 組件。

GAC

您可以部署簽署組件的全域位置。預設會以完全信任來執行組件。它們會以全域方式安裝,因此可以在任何 Web 應用程式中運作。

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

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

設定特殊安全性屬性

儲存在 Bin 目錄中的 ASP.NET 2.0 網頁組件有特殊的安全性條件約束。您可以選擇是否要設定網頁組件的特殊安全性屬性,這取決於您計劃使用網頁組件的方式。

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

注意

使用 AllowPartiallyTrustedCallers 屬性將元件標示為「安全」,會將安全實作的責任放在開發人員身上。

Bin 目錄的程式碼存取安全性權限預設會很低;只允許執行。您幾乎必須確實提高這些權限才能正確地執行組件。

您有兩種方法可以提高權限:

  • (建議) 建立信任原則檔,並在 Web.config 檔案中指向這個新建檔案。這個選項較為複雜,但是可以提供精確的網頁組件權限。如需信任原則檔的詳細資訊,請參閱 MSDN Library Online 中的 Microsoft Windows SharePoint Services 和程式碼存取安全性 (英文) (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x404) 。

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

安全控制項清單

SharePoint 產品及技術的基本假設是「不受信任使用者」可以在執行 Office SharePoint Server 的系統內上載並建立 .aspx 頁面。這些使用者應該無法在 .aspx 頁面內新增伺服器端程式碼,但是應該會有那些不受信任使用者可以使用的核准控制項清單。在 Office SharePoint Server 中,這是由 [安全控制項] 清單所提供。

[安全控制項] 清單是 SharePoint 網站的特定控制項和網頁組件清單,伺服器管理員可以將它們指定為安全,以在網站的任何 .aspx 頁面上呼叫。清單儲存在 Web 應用程式根目錄的 Web.config 檔案中。

工作需求

以下是執行這項工作之程序的必要條件。

  • 已安裝 Office 2007 版中任一伺服器產品之伺服器電腦的管理員權限。

若要將安全的網頁組件設定和部署至伺服器,則可以執行下列程序。