Table of Contents

Multi-Tenant Guide

JJInfinity multi-tenant mode allows multiple portals to run from one codebase/database while using different domains and tenant-specific configuration.

Example scenario

  • Main portal: portal.yourcompany.com.br
  • Tenant portal: customers.yourcompany.com.br
  • Same application binaries and same database
  • Different branding and selected settings

Benefits

  • Lower maintenance cost with shared codebase
  • Tenant-level visual and behavior customization
  • Cookie/session isolation through separate domains

Prerequisites

  • IIS server access with permission to edit Sites/Bindings
  • Valid SSL certificate for each tenant domain
  • DNS access for A or CNAME records
  • Admin access to Infinity advanced settings

IIS structure

Each tenant can use:

  • Same physical path
  • Same database
  • Different host binding
Portal URL Path Database
Main portal.yourcompany.com.br C:\inetpub\wwwroot\jjinfinity Shared
WebSales customers.yourcompany.com.br C:\inetpub\wwwroot\jjinfinity Shared

Step-by-step

1. Add domain binding/site in IIS

  1. Open IIS Manager.
  2. Add a website or add a new HTTPS binding.
  3. Set host name (for example clientes.sigvaris.com.br).
  4. Select SSL certificate.

2. Configure DNS

Create DNS record for the new domain/subdomain pointing to the existing Infinity server/IP.

3. Configure tenant-specific keys in Infinity

  1. Access Infinity using the new domain.
  2. Open Admin/AppSettings/Advanced.
  3. Add overrides specific to that domain.

Typical keys:

Key Purpose
www.jjconsulting.com.br.Layout:AccountLayout Login/layout style
www.jjconsulting.com.br.Layout:Images:Identity Tenant visual identity image
www.jjconsulting.com.br.OtherOptions:AppName Tenant app display name
Email:Provider and SMTP keys Email delivery config

4. Customize appearance

Upload required assets under Files and reference IDs/URLs in tenant settings.

Validation checklist

  • Domain resolves and loads over valid HTTPS
  • Login works with a shared user base
  • Branding is tenant-specific
  • Sessions/cookies do not conflict across domains
  • Email flow works for tenant

Best practices

  • Test in staging first
  • Document every tenant override key
  • Keep SSL and DNS ready before enabling tenant routing