Forums

 
ForumForumMainstream Foru...Mainstream Foru...General Discuss...General Discuss...Multi-tenantMulti-tenant
Previous Previous
 
Next
 Disabled
New Post
 9/17/2020 12:15 PM
 
While your approach will keep things simple, it is usually best to obfuscate so as to make it a little harder for hackers to understand your architecture. Also, by having separate connection strings, it allows us to use separate SQL user logins as an additional layer of security. Our Professional and Enterprise products allow the upload of a report with a custom SQL query, we wanted to make sure that each database had a separate login to prevent cross database hacking.
New Post
 9/17/2020 1:45 PM
 
Thanks for the reply. I understand the concern about hacking.

With our SurPaaS archetecture, we use the subdomain name to look up in tables we maintain that point to the proper database, which may or may not = the actual name of the DB.

For our SaaS customers, we use wildcard subdomain so that the users have a simple, contextual url by which to access their application.

https://tenantname/company.com is easy to remember. IT is true, if the tenant name is known, others can access the logon. That is why we set the default password to "must change"

What we are doing now with your method:
In the Spendid_hosting_sites view, we are setting "Connection_String" Initial Catalog with "tenantname", same as the end-user url subdomain. This works fine.

I would like to just skip the step of creating an IIS host for each tenant, and maintain another table.

Accepting all the disclaimers, I would like to add another factory that declares the subdomain as the database name as an option. I am looking for the best way to do this without changing too much SplendidCRM code.
Previous Previous
 
Next
 Disabled
ForumForumMainstream Foru...Mainstream Foru...General Discuss...General Discuss...Multi-tenantMulti-tenant