Asp.Net Core multi-tenant application Sample using #SaaSKit
This application is upgraded to .Net Core 2.0. You can find latest releases for both .Net Core 1.x and .Net Core 2.0 in release tab.
Nothing Complex.
I followed separate database per tenant approach.
In NetCoreSaaS.Data
project we have three different context.
SystemDbContext
holds application/system level dataCatalogDbContext
holds tenant level data like tenant configurationTenantDbContext
holds tenant specific data like tenant user, other tenant data
- Create migration file if not created (but its already created under
Data
folder ofNetCoreSaaS.WebHost
). If you want to re-create migration later checkTempFiles
folder inNetCoreSaaS.WebHost
for migration scripts. RunSystem Database
andCatalog Database
migration only. - Run application. Application will itself migrate changes to database with seeding in
NetCoreSaaS_Catalogdb
with tenant data. - For testing purpose, I have configure application to listen request in host
http://*.localhost:6001
(you can find configuration inProgram.cs
file.) Default seeding has only added two tenant which hostname arehttp://tenant1.localhost:6001
andhttp://tenant2.localhost:6001
therefore request from only these two hostname will be resolved else tenant will not resolve. You can find seeding inNetCoreSaaS.WebHost > Infrastructures > Helpers > DbHelper
folder. - Once application is running, go to
http://tenant1.localhost:6001
andhttp://tenant2.localhost:6001
you can find same site for two virtual shop(tenants). - You can also perform user signup and login operation with these tenants.
More feature and documentation are comming...