Use Case: Consider I am creating a platform where Multiple Organization with Users belong to each organization should not see each other's data. For example, Customer1 having 10 Users and Customer2 having 2 user sign in to our Apache Isis generated app, now customer1 prefers to isolate the data by keeping it in a separate Database since he doesn't want to host their data on a shared DB (Option 3).
Do we have a notion of Users belonging to an Organization in our Apache Isis Security module? Ideally multi-tenancy should allow me to create a tenant first and then its users with special configuration like separate DB, roles, permissions etc. In the end, I want to support a multi-tenant environment where I should be able to isolate my tenant's data in a separate DB altogether. Does this make sense? On Thu, May 19, 2016 at 2:20 AM, Jeroen van der Wal <jer...@stromboli.it> wrote: > Hi Sunand, > > Because we needed more sophistication we've gone for option 3 and not > implemented 1 and 2 but Datanucleus should be able to support those > scenarios [1]. What use case are your trying to solve? > > Cheers, > > Jeroen > > [1] > > http://www.datanucleus.org/products/accessplatform_3_1/rdbms/multitenancy.html > > > > On 18 May 2016 at 19:08, sunand p <sunandonl...@gmail.com> wrote: > > > Hi, > > > > We have Isis-Security module as an addon which provides multi-tenancy > > feature. Presently multi-tenancy as I understand is with respect to > > associating an user to a tenant and assigning roles and permissions. > "*Each > > user can be associated with a particular tenancy, and Isis can then be > > configured such that they cannot access data in other tenancies*" > > > > As for data, multi-tenancy is achieved via following ways, > > > > 1) Have a separate schema per tenant and have the tables created within > the > > schema and refer to it as (for example) *tenant1_schema.table1* > > > > 2) Have a separate database assigned to a tenant and keep all the data in > > that DB. > > > > 3) Store all data in one table and have a tenant id discriminator. > Include > > the discriminator in the query framework after resolving a tenant add the > > where clause to each query (For example) Select * from Table1 where > > tenantId = 'tenant1' > > > > As for Apache Isis how can I support Option 1 and Option 2 in the current > > framework? > > >