NetCoreSaaS
NetCoreSaaS copied to clipboard
Asp.Net Core multi-tenant application Sample using #SaaSKit
NetCoreSaaS
Asp.Net Core multi-tenant application Sample using #SaaSKit
.Net 6.0 Support!!!
This application is upgraded to support .Net 6.0.
Known Issue
Currently HTTPS redirection is not supported.
Application Architecture
Nothing Complex.
I followed separate database per tenant approach.
In NetCoreSaaS.Data project, there are two different contexts.
CatalogDbContextholds global tenant level data like tenant configurationTenantDbContextholds tenant specific data like tenant user, other tenant related data
Steps to run application
- Create migration file if not created (but its already created under
Datafolder ofNetCoreSaaS.WebHost). If you want to re-create migration later checkTempFilesfolder inNetCoreSaaS.WebHostfor migration scripts. RunCatalog Databasemigration only. - Run application. Application will itself migrate changes to database with seeding in
NetCoreSaaS_Catalogdbwith tenant data. - For testing purpose, I have configure application to listen request in host
http://*.localhost:6001(you can find configuration inProgram.csfile.) Default seeding has only added two tenant which hostname arehttp://tenant1.localhost:6001andhttp://tenant2.localhost:6001therefore request from only these two hostname will be resolved else tenant will not resolve. You can find seeding inNetCoreSaaS.WebHost > Infrastructures > Helpers > DbHelperfolder. - Once application is running, go to
http://tenant1.localhost:6001andhttp://tenant2.localhost:6001you can find same site for two tenant. - You can also perform user signup and login operation with these tenants.