You may receive error messages from Reporting Services after you install the ASP.NET ValidatePath Module (887787)



The information in this article applies to:

  • Microsoft SQL Server 2000 Reporting Services
  • Microsoft SQL Server 2005 Beta 2

SYMPTOMS

After you install the Microsoft ASP.NET ValidatePath module, you may receive the following error messages from Microsoft SQL Server 2000 Reporting Services when you browse the http://servername/Reportserver page and the http://servername/Reports page:
Server Error in '/ReportServer' Application.
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.
Exception Details: System.Security.SecurityException: Request for the permission of type System.Web.AspNetHostingPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.

RESOLUTION

To resolve this problem, use one of the following methods.

Method 1: Replace the .config files

To replace the .config files with new versions that are available from the Microsoft Download Center, follow these steps:

Important When you replace your .config files, you return to a default installation. Any changes that you have made to the configuration files will be lost. If you have made several modifications to your .config files, use Method 2.
  1. Locate the following two files on the computer that is running Microsoft Internet Information Services (IIS) and the Reporting Services components:
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\rssrvpolicy.config
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportManager\rsmgrpolicy.config
  2. Rename the files in step 1 to Rssrvpolicy.old and Rsmgrpolicy.old.
  3. Download the .config files from the following link:
  4. Expand the files from the package to your local drive.
  5. Replace your current .config files with the .config files from the package.
  6. Restart the IIS services by using IIS Manager.

Method 2: Manually change the .config files

To manually change the .config files, follow these steps:
  1. Locate the following files on the computer that is running IIS and the Reporting Services components:
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\rssrvpolicy.config
    • %ProgramFiles%\Microsoft SQL Server\MSSQL\Reporting Services\ReportManager\rsmgrpolicy.config
  2. Make a backup copy of the .config files.
  3. Open the .config files by using a text editor, such as Notepad.
  4. Locate the following CodeGroup tag in each .config file:
    <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. Add the following code after the CodeGroup tag that you found in step 4:
    <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>

    Note: You will need to remove the line breaks from the PublicKeyBlob if you are pasting this code into your .config files
  6. Restart the IIS services by using IIS Manager.

STATUS

Microsoft has confirmed that this is a problem in ASP.NET ValidatePath module.

REFERENCES

887289 HTTP module to check for canonicalization issues with ASP.NET

887404 How to use Systems Management Server 2003 to deploy the ValidatePath module

887405 How to use Windows Installer and Group Policy to deploy the VPModule.msi in an Active Directory domain

887290 How to use the ASP.NET ValidatePath Module Scanner (VPModuleScanner.js)


Modification Type:MinorLast Reviewed:11/1/2005
Keywords:kbtshoot KB887787 kbAudDeveloper