Frage

Ich bin in dem Prozess auf eine einzelne SQL-DB Website (ASP.NET/VB.NET) in einen Multi-Tenant-App ändern, wo jeder Kunde seine eigene Datenbank hat.

In der alten Seite, alle ASP Rollen, Logins und Anbieter wiesen auf die einzelne Datenbank.

Jetzt haben wir mehrere Datenbanken, ich frage mich, was wäre die beste Architektur / Techniken zu verwenden. Es ist eine Datenbank, die die Mieter, wie der Firmenname konfiguriert, verschiedene Einstellungen (das normalerweise in einem web.config wäre) und die Verbindungszeichenfolge, um ihre Mieter Datenbank.

Wenn wir alle die Mitgliedschaft & Rolle Sachen in der einzigen Datenbank, die die Mieter oder tun konfiguriert wir Mitgliedschaft und Rollen in jeder einzelnen Mieter Datenbank haben? Option 2 scheint schwierig, weil ich denke, ASP.NET mag nur einen Satz von RoleProviders in der web.config definiert.

Hat jemand versucht, dies vor oder bekam irgendwelche Empfehlungen?

War es hilfreich?

Lösung

Wenn Sie das ASP.Net Mitgliedschaftsmodell mit den Einbau-Anbieter verwenden dann in einem DB setzen ist die einfachste, wie Sie angegeben.

Eine Option, und ich habe nicht versucht, ist in der Datei web.config einen Anbieter für jeden Mieter zu definieren. Dies würde jeder Mieter erlauben, ihre eigene Mitgliedschaft db zu haben, und ermöglicht es Ihnen, Benutzername Kollisionen zwischen den Mietern zu vermeiden (wenn dies eine Voraussetzung ist).

Andere Tipps

Es sollte möglich sein, die die ASP.NET-Mitgliedschaft Datenbank-Verbindungszeichenfolge zur Laufzeit konfigurieren. dieses Themas hat ein paar Optionen, einschließlich einer benutzerdefinierten Mitgliedschaftsanbieter oder den Wert zu ändern früh im Anforderungslebenszyklus über Global.asax.cs.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top