Tenant Management Module
Multi-Tenancy is one of the core features of ABP Framework. It provides the fundamental infrastructure to build your own SaaS (Software-as-a-Service) solution. ABP's multi-tenancy system abstracts where your tenants are stored, by providing the
ITenantStore interface. All you need to do is to implement that interface.
The Tenant Management module is an implementation of the the
ITenantStore interface. It stores tenants in a database. It also provides UI to manage your tenants and their features.
Please refer to the Multi-Tenancy documentation to understand the multi-tenancy system of the ABP Framework. This document focuses on the Tenant Management module.
About the ABP Commercial SaaS Module
How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you create a new solution with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see
get-source CLI command) to develop your custom module.
The Source Code
This module adds "Administration -> Tenant Management -> Tenants" menu item to the main menu of the application, which opens the page shown below:
In this page, you see the all the tenants. You can create a new tenant as shown below:
In this modal;
- Name: The unique name of the tenant. If you use subdomains for your tenants (like https://some-tenant.your-domain.com), this will be the subdomain name.
- Admin Email Address: Email address of the admin user for this tenant.
- Admin Password: The password of the admin user for this tenant.
When you click to Actions button near to a tenant, you will see the actions you can take:
Managing the Tenant Features
The Features action opens a modal to enable/disable/set features for the related tenant. Here, an example modal:
Managing the Host Features
Manage Host features button is used to set features for the host side, if you use the features of your application also in the host side.
AbpTenantManagement.Tenants: Tenant management.
AbpTenantManagement.Tenants.Create: Creating a new tenant.
AbpTenantManagement.Tenants.Update: Editing an existing tenant.
AbpTenantManagement.Tenants.Delete: Deleting an existing tenant.
AbpTenantManagement.Tenants.ManageFeatures: Manage features of the tenants.
Entity Framework Core Integration
AbpTenants(also includes the connection string)
ABP Framework allows to use database per tenant approach that allows a tenant can have a dedicated database. This module has the fundamental infrastructure to make that implementation possible (see its source code), however it doesn't implement the application layer and UI functionalities to provide it as an out of the box implementation. You can implement these features yourself, or consider to use the ABP Commercial Saas Module that fully implements it and provides much more business features.