Tuesday, September 22, 2009

Enable SQL Report Builder Anonymous Access

Enabling Anonymous Access to Report Builder Application Files

Report Builder uses ClickOnce technology to download and install application files on the client computer. When it starts on the client computer, the ClickOnce application launcher will make a request for additional application files on the report server computer. If the report server is configured for Basic authentication, the ClickOnce application launcher will fail the authentication check because it does not support Basic authentication.

To work around this issue, you can configure Anonymous access to the Report Builder program files. Doing so allows ClickOnce to bypass the authentication check when retrieving its files. Enable Anonymous access by doing the following:

  1. Verify that the report server is configured for Basic authentication.
  2. Create a bin folder under ReportBuilder and copy four assemblies to the folder.
  3. Add the IsReportBuilderAnonymousAccessEnabled element to the RSReportServer.config and set it to True. After you save the file, the report server creates a new endpoint to Report Builder. The endpoint is used internally to access program files and does not have a programmatic interface that you can use in code. Having a separate endpoint allows Report Builder to run in its own application domain within the Report Server service process boundary.
  4. Optionally, you can specify a least-privilege account to process requests under a security context that is different from the report server. This account becomes the anonymous account for accessing Report Builder files on a report server. The account sets the identity of the thread in the ASP.NET worker process. Requests that run in that thread are passed to the report server without an authentication check. This account is equivalent to the IUSR_ account in Internet Information Services (IIS), which is used to set the security context for ASP.NET worker processes when Anonymous access and impersonation are enabled. To specify the account, you add it to a Report Builder Web.config file.

The report server must be configured for Basic authentication if you want to enable Anonymous access to the Report Builder program files. If the report server is not configured for Basic authentication, you will get an error when you attempt to enable Anonymous access.

For more information about authentication issues and Report Builder, see How to: Configure Report Builder 1.0 and Report Builder 2.0 Access.

To configure Report Builder access on a report server configured for Basic authentication.

Verify the report server is configured for Basic authentication by checking the authentication settings in the RSReportServer.config file.

Create a BIN folder under the ReportBuilder folder. By default, this folder is located at \Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\ReportBuilder.

Copy the following assemblies from the ReportServer\Bin folder to the ReportBuilder\BIN folder:

  • Microsoft.ReportingServices.Diagnostics.dll
  • Microsoft.ReportingServices.Interfaces.dll
  • ReportingServicesAppDomainManager.dll
  • RSHttpRuntime.dll

Optionally, create a Web.config file to process Report Builder requests under an Anonymous account:





Authentication mode must be set to Windows if you include a Web.config file.

Identity impersonate can be True or False.
  • Set it to False if you do not want ASP.NET to read the security token. The request will run in the security context of the Report Server service.
  • Set it to True if you want ASP.NET to read the security token from the host layer. If you set it to True, you must also specify userName and password to designate an Anonymous account. The credentials you specify will determine the security context under which the request is issued.
Save the Web.config file to the ReportBuilder\bin folder.

Open RSReportServer.config file, in the Services section, find IsReportManagerEnabled and add the following setting below it:

Save RSReportServer.config and close the file.

Restart the report server.

Download link:-
Anonymous_Access_to_Report_Builder_Application_Files.docx

1 comment:

  1. Anyone know why this does not work..
    Optionally, create a Web.config file to process Report Builder requests under an Anonymous account:

    ReplyDelete