Report Server can preview its stored reports through the integrated HTML5 viewer, but this can be insufficient for users that want to show server reports in their desktop or web application without redirecting to Report Server manager. This is addressed by providing the necessary APIs to the report viewers, so they can authenticate against the report server and gain access to its reports.
Usually a client application uses a report viewer with a pre-defined connection to a reporting engine (Embedded (local), REST Service or Report Server). Scenarios where the same report viewer will switch dynamically from local to server reports or back are not so common, so the best way to set up the report viewer’s report engine connection is through the Item Template Wizard. This is especially recommended for desktop viewers (WinForms and WPF), because in these cases a specific NuGet packages must be referenced to establish the connection with the Report Server engine and the Item Template Wizard will do it automatically. The following links to the Telerik Reporting documentation explain the process in details:
- How To: Use Windows Forms Report Viewer With Report Server
- How To: Use WPF Report Viewer With Report Server
- How To: Use HTML5 Report Viewer with Report Server
Since the user credentials will be sent to the Report Server instance in plain text, it is recommended to use a secure transport protocol (https) between the client and server. This will provide protection against reading or altering the information sent back and forth.
The user credentials, however, can be seen when inspecting the page code in HTML5-based report viewers. This should not be considered as a security issue, because the report viewer must be used by the person that provides the credentials of its associated CAL user to access the Report Server. If the report viewer needs to be utilized by many users, then the Guest user credentials must be used for authentication.