isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sunand p <sunandonl...@gmail.com>
Subject Re: Mult-Tenancy
Date Thu, 19 May 2016 04:19:31 GMT
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 <jeroen@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 <sunandonline@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?
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message