2017-12-21 3 views
0

Ich entwickle derzeit eine Multi-Tenancy SaaS.Unterstützt ASP.NET Boilerplate verschachtelte Mandantenfähigkeit?

Jeder Mieter in unserem System ist ein Abonnement (man denke Azure-Abonnement), wo der Besitzer des Abonnements mehrere Geschäfte innerhalb des Abonnements erstellen können. Sie können dann Benutzer zum Abonnement einladen und ihnen Zugriff auf einzelne Geschäfte gewähren.

Art wie folgt aus:

App 
|- Subscription A (owned by Bob) 
| |- Store A (access granted to Alice) 
| |- Store B 
| 
|- Subscription B (owned by ...) 
| |- Store A' 
| |- ... 
|- ... 

Was wir brauchen, ist, dass BobAlice zu sein Abonnement und die Gewährung ihr Zugang zu Shop A einladen. Alice darf nicht haben Zugriff auf Shop B.

Mein Verständnis von ABP ist, dass ich die Abonnements implementieren kann das eingebaute Multi-Tenancy-Modell. Aber was ich nicht verstehe, ist, wie kann ich das auf die Ladenebene erweitern?

Können wir irgendwie kombinieren Organisationseinheiten mit dem Multi-Tenant-Modell diese Arbeit zu machen? In unserem Modell enthalten die Abonnements alle Abrechnungsinformationen und die Filialen würden höchstwahrscheinlich (Teil-) Abteilungen darstellen.

Bearbeiten: Ich weiß, dass Organisationseinheiten berühren dieses Szenario, aber dann müssten wir alle Filterung selbst implementieren. Wenn wir bestimmten Geschäften weitere Berechtigungen zuweisen möchten, z. Alice ist Store-Admin von Store A, könnten wir das integrierte Berechtigungsmodell ohne viele "manuelle" Checks nutzen?

+0

ABP filtert automatisch Daten OU. –

Antwort

0

Stores, Abteilungen oder jede andere Einheit kann in ABP mit Organisationseinheit dargestellt werden.

Organisationseinheiten (OU) können hierarchisch Gruppe Benutzer und Einheiten verwendet werden. Eine Organisationseinheit wird durch die Entität OrganizationUnit repräsentiert. Grundlegende Eigenschaften dieser Entität sind;

TenantId: Tenant's Id of this OU. Can be null for host OUs. 
ParentId: Parent OU's Id. Can be null if this is a root OU. 
Code: A hierarchical string code that is unique for a tenant. 
DisplayName: Shown name of the OU. 

Für weitere Informationen

https://aspnetboilerplate.com/Pages/Documents/Zero/Organization-Units

+0

Danke für die Antwort. Ich habe meine Frage bearbeitet, um zu erklären, warum ich glaube, dass OUs mein Problem nicht vollständig lösen. – Kevin

Verwandte Themen