問:在Windows Server 2003 上安裝Microsoft Project Server 2003,並將Project Server安裝到預設Web網站上。安裝完成後原有或新部屬的Asp.net應用程式無法訪問。
答: 因為Project Server需要安裝WSS來支援應用,WSS預設會被安裝到預設Web網站,而且是無法修改的.。
在SharePoint術語中,一個IIS Web網站被認為是一個虛擬伺服器。一個虛擬伺服器必須通過WSS被擴充,以便運行於WSS
Web網站。當你預設設定下安裝WSS時,它將自動擴充監聽於80連接埠的虛擬伺服器。
當WSS擴充到一
個虛擬伺服器上,會在虛擬伺服器上安裝一個自訂的ISAPI過濾器,WSS過濾器(STSFLTR.DLL)。它將對發送到伺服器的請求根據設定資料庫
裡的資料進行過濾,以決定哪些由WSS處理,哪些由IIS處理。擴充虛擬服務的同時,WSS還將添加一個web.config檔案在主虛擬伺服器的根目錄
中。這個web.config檔案為WSS和所有的運行於這個虛擬伺服器的ASP.NET代碼提供最初的配置設定。預設情況下,這個web.config
檔案包含相當嚴格的安全設定(WSS_Minimal)。但是僅僅修改Web.config的安全設定是不起作用的。
WSS將已擴充的虛擬伺服器的URL空間分成多個受管理的路徑。受WSS管理的路徑被認為是被包含的路徑,相反不受WSS管理的路徑被認為是被排除的路
徑。當WSS過濾器發現到達一個帶有URL的請求,並且此URL是被排除路徑的一部分,從而就可以給IIS發送一個回複,讓標準ASP或ASP.NET來
處理。
因此要開啟Asp.net應用程式,只要將Asp.net應用程式的路徑添加到被排除的路徑中就可以訪問這個應用程式了。因為這樣就繞過了WSS的安全驗
證。方法是:在SharePoint Central Administration中,有個Define Managed
Paths的功能。在Add A New Path中添加你自己的應用程式路徑即可。
參考資料:在Windows SharePoint Service平台上構建協作式應用(中文)
Use Windows SharePoint Services as a Platform for Building Collaborative Applications(英文)