- ABP Framework version: v3.1.1 / 4.4.0
- UI type: Blazor
- DB provider: EF Core
- Tiered (MVC) or Identity Server Separated (Angular): yes
I'm trying to use the multi tentant. But I have some problems with this. I want to have one Identity Server and multiple APIs. Login to the Identity Server and then have the multi tenant/ConnectionString, so I can make requests to a different API using the correct connectionString.
Is Abp supporting this example? And if yes, how can I do it? Everytime I try to add a multi tentant to a user I can't make the login.
15 Answer(s)
- 
    0hi The default hierarchical project and microservice project support functions. You can manage the connection string of the tenant. Everytime I try to add a multi tentant to a user I can't make the login. Can you share your current practices? 
- 
    0Hi, I'm trying to associate a tenant with a user. So that I can login with this user and every request I make to the api, the api will connect to the correct database. But I cannot associate a tenant with a user. 
- 
    0I'm trying to associate a tenant with a user hi Such a design is currently not supported. 
- 
    0hi, so the user to login need to know the username, password and tenant name, right? How can I have 1 identityserver with one DB, and then have 1 API(sales for example) using multiple databases for each tenant? 
- 
    0so the user to login need to know the username, password and tenant name, right? Yes, Usually we need to know the current tenant. How can I have 1 identityserver with one DB, and then have 1 API(sales for example) using multiple databases for each tenant? identityserver should also support multi-tenancy. Just like the default template. 
- 
    0
- 
    0hi https://docs.abp.io/en/abp/latest/Multi-Tenancy#determining-the-current-tenant 
- 
    0
- 
    0Hi Bernardo, can you remove the $ sign and try again? Because when you define it with $ sign it converts string (because of string interpolation) as "0.somedomain.com" instead of "{0}.somedomain.com". {0} is the placeholder to determine current tenant's unique name. => https://docs.abp.io/en/abp/4.4/Multi-Tenancy#domain-subdomain-tenant-resolver 
- 
    0Hi Bernardo, can you remove the $ sign and try again? Because when you define it with $ sign it converts string (because of string interpolation) as "0.somedomain.com" instead of "{0}.somedomain.com". {0} is the placeholder to determine current tenant's unique name. => https://docs.abp.io/en/abp/4.4/Multi-Tenancy#domain-subdomain-tenant-resolver I got the same result, currentTenant null 
- 
    0Can you add the DomainTenantResolveContributorto TenantResolvers and try again?DomainTenantResolveContributor: Tries to resolve tenancy name from an url, generally from a domain or subdomain. Configure<AbpTenantResolveOptions>(options => { options.AddDomainTenantResolver("{0}.somedomain.com"); options.TenantResolvers.Add(new DomainTenantResolveContributor()); //add DomainTenantResolveContributor //... });
- 
    0The problem Im having, in the API A I lost the tenant of the user. Probably because I'm using ODataControllerand notAbpControllerSo I can't make selects in the DB with that tentantId. I just want to know the tenant, so I can get the right data for that tenant. I would like to get the tenant by the cookie because I have the tenant there or some request I could make to IdentityServer.
- 
    0
- 
    0Instead of using cookies or headers. Can I use subdomains, and with that the user don't need to know the tenant name when he is login. This can be done? If yes, how? 
- 
    0Can I use subdomains https://docs.abp.io/en/abp/4.4/Multi-Tenancy#domain-subdomain-tenant-resolver https://github.com/abpframework/abp-samples/tree/master/DomainTenantResolver 





 
                                