文章編號: 887787 - 上次校閱: 2006年1月12日 - 版次: 1.3

在安裝 ASP.NET ValidatePath 模組之後,可能會收到來自 Reporting Services 的錯誤訊息

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

安裝 Microsoft ASP.NET ValidatePath 模組之後,當您瀏覽 http://servername/Reportserver 網頁和 http://servername/Reports 網頁時,可能會收到下列來自 Microsoft SQL Server 2000 Reporting Services 的錯誤訊息:
'/ReportServer' 應用程式中發生伺服器錯誤。
安全性例外狀況
描述:應用程式嘗試執行安全原則不允許的作業。若要授與執行此應用程式所需的權限,請洽詢您的系統管理員,或在組態檔中變更此應用程式的信任層級。
例外狀況詳細資訊:System.Security.SecurityException: 型別 System.Web.AspNetHostingPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 的使用權限要求失敗。

解決方案

如果要解決這個問題,請使用下列其中一種方法。

方法 1:取代 .config 檔案

如果要使用從「Microsoft 下載中心」下載的新版本取代 .config 檔案,請執行下列步驟:

重要 取代 .config 檔案時,會回到預設安裝。所有對設定檔案所做的變更都將會遺失。如果您已對 .config 檔案進行了一些修改,請使用方法 2。
  1. 在執行 Microsoft Internet Information Services (IIS) 和 Reporting Services 元件的電腦上找到下列兩個檔案:
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\rssrvpolicy.config
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportManager\rsmgrpolicy.config
  2. 將步驟 1 中的檔案重新命名為 Rssrvpolicy.old 和 Rsmgrpolicy.old。
  3. 從下面的連結下載 .config 檔案:
    http://download.microsoft.com/download/9/8/C/98CEED6D-3489-4504-BBB5-586B63001CE0/887787.exe (http://download.microsoft.com/download/9/8/c/98ceed6d-3489-4504-bbb5-586b63001ce0/887787.exe)
  4. 將檔案從封裝展開至您的本機磁碟機。
  5. 使用封裝中的 .config 檔案取代您目前的 .config 檔案。
  6. 使用 IIS Manager 重新啟動 IIS 服務。

方法 2:手動變更 .config 檔案

如果要手動變更 .config 檔案,請執行下列步驟:
  1. 在執行 IIS 和 Reporting Services 元件的電腦上找到下列檔案:
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\rssrvpolicy.config
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportManager\rsmgrpolicy.config
  2. 製作 .config 檔案的備份。
  3. 使用文字編輯器開啟 .config 檔案,例如「記事本」。
  4. 在每個 .config 檔案中找到下列的 CodeGroup 標籤:
    <CodeGroup class = "UnionCodeGroup"
               Version = "1"
               PermissionSetName = "FullTrust"
               Name = "Microsoft_Strong_Name"
               Description = "This code group grants codes signed with the Microsoft strong name full trust.">
    <IMembershipCondition Class = "StrongNameMembershipCondition"
    Version = "1"
    
    PublicKeyBlob = "00240000048000009400000006020000002400005253413100040000010001
    0007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD
    9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E8
    21C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D62DE5F17E5EAF0FC
    4963D261C8A12436518206DC093344D5AD293"/>
    </CodeGroup>
  5. 將下列程式碼加入您在步驟 4 中找到的 CodeGroup 標籤之後:
    <CodeGroup class = "UnionCodeGroup"
               Version = "1"
               PermissionSetName = "Nothing"
               Name = "ValidateModule" 
               Description = "Microsoft.Web.ValidatePathModule.dll">
    <IMembershipCondition class="StrongNameMembershipCondition"
             version ="1"
    
    PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000
    100A77DA99520637B04AF0CBA09C5C08FF306F1D69859D03EE699C57C1F6C497339BFB3E6
    618255AE0A3906C10CE5673311E8B30C186D2393C1B78D6FF7F32BDA20C74B0AD36BA491
    C17E5E01C1D5B3ECD5AEF05C8E4660C384226BE8933812800DFD8F365D7CD0CF5E6631A6
    506CBC1D2F73136FF9C52EBE77068E3B0DC78B7DD9"/>
    
    <CodeGroup class = "UnionCodeGroup"	
               Version = "1"	
               PermissionSetName = "FullTrust"
               Name = "Validate Module from GAC">
    <IMembershipCondition class = "UrlMembershipCondition"
                         Version = "1"
                         Url = "$Gac$/*"/>
          </CodeGroup>
    </CodeGroup>

    注意: 如果您將此程式碼貼至您的 .config 檔案中,則必須移除 PublicKeyBlob 的分行符號。
  6. 使用 IIS Manager 重新啟動 IIS 服務。

狀況說明

Microsoft 已確認 ASP.NET ValidatePath 模組確實有上述問題。

?考

887289? (http://support.microsoft.com/kb/887289/ ) 利用 HTTP 模組檢查 ASP.NET 相關的規範化問題
887404? (http://support.microsoft.com/kb/887404/ ) 如何使用 Systems Management Server 2003 來部署 ValidatePath 模組
887405? (http://support.microsoft.com/kb/887405/ ) 如何使用 Windows Installer 和群組原則在 Active Directory 網域中部署 VPModule.msi
887290? (http://support.microsoft.com/kb/887290/ ) 如何使用 ASP.NET ValidatePath 模組掃描器 (VPModuleScanner.js)

這篇文章中的資訊適用於:
  • Microsoft SQL Sever 2000 Reporting Services
  • Microsoft SQL Server 2005 Beta 2
關鍵字:?
kbtshoot KB887787
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。