In the introduction to multi-tenant reporting, we discussed how ActiveReports Server uses a security provider and security filters to implement custom authentication when you deploy self-service reporting in multi-tenant environments. These are environments in which multiple clients, such as multiple companies, each with its own group of employees, share a single application with access to only their information. This is very common in SaaS applications that need to add reporting.
While implementing ad hoc, self-service reporting in a multi-tenant environment, we aim to restrict access to underlying data from the database based on the organization (“tenant”) of the user who is logged into the system. This is a typical deployment scenario for Web-based solutions catering to multiple customers, each of whom has individual sets of data. There are many forms of multi-tenancy and the implementation varies by case depending on a number of factors. These architectures vary in degrees of data isolation from an extreme of completely isolated databases, where each tenant has their own copy of data, to shared databases where tenants share the same tables and data is associated with a tenant using a tenant identifier.