Skip to content

Application multi-tenancy #27465

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
BrennanConroy opened this issue Nov 2, 2020 · 9 comments
Open

Application multi-tenancy #27465

BrennanConroy opened this issue Nov 2, 2020 · 9 comments
Labels
affected-medium This issue impacts approximately half of our customers area-hosting Includes Hosting area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions enhancement This issue represents an ask for new feature or an enhancement to an existing one multi-tenancy Issues based in multi-tenancy Needs: Design This issue requires design work before implementating. severity-major This label is used by an internal tool
Milestone

Comments

@BrennanConroy
Copy link
Member

Host multiple apps behind a single server.

  • Host name routing?
  • New UseStartup API?
  • Auth will be fun!
  • Different config/config sections
@BrennanConroy BrennanConroy added Needs: Design This issue requires design work before implementating. area-hosting Epic Groups multiple user stories. Can be grouped under a theme. labels Nov 2, 2020
@BrennanConroy BrennanConroy added this to the Next sprint planning milestone Nov 2, 2020
@ghost
Copy link

ghost commented Nov 2, 2020

Thanks for contacting us.
We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@blowdart
Copy link
Contributor

blowdart commented Nov 3, 2020

Host name routing?

Too simple. Some folks do it via a property in a cookie, some via parameters. Rather than just host header, have a tenant resolver function/delegate that people can implement how they like.

@blowdart blowdart added the multi-tenancy Issues based in multi-tenancy label Nov 3, 2020
@blowdart
Copy link
Contributor

blowdart commented Nov 9, 2020

Also, identity will need a lot of work (I had an email this morning, hi Carl!), if the expectation is to share one database per tenant.

@Tratcher Tratcher added affected-medium This issue impacts approximately half of our customers enhancement This issue represents an ask for new feature or an enhancement to an existing one severity-major This label is used by an internal tool labels Nov 9, 2020 — with ASP.NET Core Issue Ranking
@brockallen
Copy link

Isn't the real solution to make the DI system more flexible?

@AndrewTriesToCode
Copy link
Contributor

AndrewTriesToCode commented Nov 14, 2020

I have a library that handles this pretty well if it offers any inspiration. It's currently being reviewed by the .NET Foundation.

It does:
Per-tenant authentication,
per-tenant options via DI (via a custom options factory)
shared EF Core database, separate db per tenant, or hybrid (and Identity support)
and a bunch of "strategies" like host/route/header resolution.

I don't do per-tenant configuration sections because I consider that to be more "app" than "tenant" related. The philosophy is geared more toward using per-tenant options for tenant specific behavior.

@brockallen as an aside I get asked all the time about plugging this into IdentityServer. I've had some limited success so far but have more things to figure out

https://github.com/Finbuckle/Finbuckle.MultiTenant

@ghost
Copy link

ghost commented Jul 18, 2021

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

@hikalkan
Copy link

ABP Framework provides a complete multi-tenancy infrastructure. It handles authentication, data isolation and much more. I suggest you to check it: https://docs.abp.io/en/abp/latest/Multi-Tenancy

@vigouredelaruse
Copy link

vigouredelaruse commented Dec 28, 2021

currently asp.net core supports a co-operative multi-tenancy and this thread seems to be about picking specific aspects of co-operative multi-tenancy that grate on individual posters' nerves

co-operative multitasking on a single core has been factored out of the equation, if you get my particular drift

i want to keep the bot interested in the fact that single tenancy kinda died out with lotus-123 and now a multi-tenant framework developer building on asp.net core can do nothing about the fact that any plugin developer can inject the server's configuration secrets into a view, and deface one's world, without making a drastic implementation-specific arrangement around configuration sources https://docs.microsoft.com/en-us/dotnet/core/extensions/custom-configuration-provider

the situation is almost begging for parallel development of a multitenant asp.net core on a forked repo of the associated .net core build assets

@vgb1993
Copy link

vgb1993 commented Aug 12, 2022

I would also like to see more work in this direction, as we also have a multitenant app at work

@amcasey amcasey added area-hosting Includes Hosting and removed feature-hosting labels Jun 1, 2023
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 24, 2023
@adityamandaleeka adityamandaleeka removed the Epic Groups multiple user stories. Can be grouped under a theme. label Jan 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affected-medium This issue impacts approximately half of our customers area-hosting Includes Hosting area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions enhancement This issue represents an ask for new feature or an enhancement to an existing one multi-tenancy Issues based in multi-tenancy Needs: Design This issue requires design work before implementating. severity-major This label is used by an internal tool
Projects
None yet
Development

No branches or pull requests