Backend Web/REST API for Reporting with Access Control Rights (Powered by EF Core)
- 3 minutes to read
Your Reporting application may require a distribution mechanism so that users can store their report definitions/templates in a database and access/download reports based on their permissions. In such cases, use our API service that allows you to add role-based access control, permission management, and CRUD operations to your next .NET project: DevExpress .NET App Security & Web API Service.
Benefits
- Powered by Entity Framework Core (EF Core) ORM
- The wizard scaffolds a Web API Service with CRUD operations powered by EF Core.
- Multiple Authentication Strategies
- You application’s authentication mechanism can leverage built-in support for OAuth2, JWT, and OpenID. You can also implement a custom authentication strategy.
- Cross-Platform Compatibility
- Backend Web API service is platform-agnostic, allowing you to access reporting functionality from various types of clients, including web, mobile, and desktop applications.
- Integration
- You can seamlessly integrate reporting capabilities into different parts of your application, making it more versatile. If you work in Visual Studio 2022+ for Windows, the Solution Wizard allows you to speed up the application creation process.
Basic functionality of the Web API Service is available for free. Additional capabilities listed below are available as part of the DevExpress Universal Subscription:
- Audit trail, endpoints to download reports, file attachments, data validation
- Localization endpoints to obtain localized captions for UI elements
- Technical support and full source code
Get Started with Reporting in Web API Service
Start by designing your reports in Visual Studio. Then bind these reports to your EF Core data models / entities. Use built-in API to store report templates in a database. You can then use DevExpress Web API Service to allow permission-based access to those reports and EF Core entities via built-in report endpoints started with api/Report/
. With this endpoints, users can download PDF, RTF, or other documents based on filtered data.
You can pass a report container identifier, data source criteria, export format, and other parameters to your endpoints as described in Obtain a Report from a Web API Controller Endpoint. Review a few endpoint call examples:
- Specify a Filter Condition:
/api/Report/DownloadByName(ReportName)?criteria=[FirstName] = 'Aaron'
- Specify Sort Order:
/api/Report/DownloadByName(ReportName)?sortProperty=[FirstName],Descending
- Pass Report Parameters:
/api/Report/DownloadByKey({key})?FirstName=Mary&Position=Manager
Refer to the following articles for additional information:
- Create Predefined Static Reports: describes how to create a report suitable for Web API Service data sources bound to your EF Core entities.
- Predefined Users, Roles and Permissions: describes how to configure permissions for your report container and ORM data models/your EF Core entities.
Examples
The following examples show how to authorize and download reports from the Web API Service in popular UI frameworks: