Skip to main content
A typical multi-tenant B2B SaaS application has two main types of users or access levels. The Admin users are the owners of the platform, and have cross-organization access. A customer user is a member of an organization and has access to the resources of that organization only. These user types have fundamentally different permissions levels, and their needs and requirements are different. Creating separate portals or interfacess for each of these user types is helpful. Each portal can be designed to support the needs of that specific user type. These are provided for in the SaaS Foundation template as the Admin and Customer portals. The application is setup in such a way that an Admin Portal user can also be a member of one or many organizations. As such they are also able to access the Customer Portals as part of their organization(s). That means you can “use your own app”, also knows a dogfooding in the software world.

Features

Admin Portal

Most of the features provided for in the SaaS Foundation template are found in the Admin Portal. That is becauase these are the generic features that are required for most applications. Things like
  • inviting users to the platform
  • creating organizations
  • managing organization members and inviting them to the platform
  • managing user roles within the platform
  • impersonating users, so you can see what a user would see
  • banning users
These are a massively useful set of features that take time to implement well, and will help streamline management of the platform as it grows.

Customer Portal

The Customer Portal comes with a smaller, but still useful set of features, based around managing organization members, such as
  • inviting and removing users to the organization
  • managing user roles within the organization
The Customer Portal however is where most of the development work happens. After app, we are building an application for our customers, and these will belong it what we are here calling the Customer Portal.

Roles

Portal access is determined by roles the users have assigned to them. Admin Portal Access This is defined by the user.role field. If this user is set null, the user has no access to the Admin Portal. The valid for this field are admin and user. If it is set to any one of these, the user will have access to the Admin Portal. The value determines their level of access within the Admin Portal. Customer Portal Access This is defined by the member.role field. Each member record is associated with a single organization, and the role value on that record determines their level of access within that Organization within the customer portal. This means a user can have different roles within different organizations. Valid values for this field are owner, admin, and user.

Navigation

Use the user navigation menu in the lower-left corner to move between portals. From the Admin Portal, open the user navigation menu and select Customer Portal. This displays a list of organizations that you are a member of. Choose an organization from the submenu to open the Customer Portal as that organization.
User navigation menu showing the Customer Portal option and an available organization
From the Customer Portal, the same user menu will show an Admin Portal option. Selecting this option will take you back to the Admin Portal. If you do not have access to the Admin Portal, the option will not be available.