- 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)
-
0
hi
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?
-
0
Hi,
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.
-
0
I'm trying to associate a tenant with a user
hi
Such a design is currently not supported.
-
0
hi,
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?
-
0
so 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
-
0
hi
https://docs.abp.io/en/abp/latest/Multi-Tenancy#determining-the-current-tenant
-
0
-
0
Hi 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
-
0
Hi 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
-
0
Can you add the
DomainTenantResolveContributor
to 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 //... });
-
0
The problem Im having, in the API A I lost the tenant of the user. Probably because I'm using
ODataController
and notAbpController
So 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
-
0
Instead 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?
-
0
Can 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