You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@olingo.apache.org by "anu238 ." <an...@gmail.com> on 2016/01/27 01:50:16 UTC

Best way to control access to entities (I know acl is not part of odata specification)

All,
Can you please guide me on what is the best way to control access to the
 entities in my EDM model?
I will give an example to explain my use case:
I have two entities named Products and Customers in my EDM model. I have
three user1, user2,user3 who use my service .
I want to allow  all users to have read access but only user2 to have a
write access to these entities.
I know odata specific does not talk to access control lists,

I am curious to know what methods users of Olingo are using to restrict the
access to the entities.

Thanks a lot everyone for your help in advance.

Thanks,
Anurag

Re: Best way to control access to entities (I know acl is not part of odata specification)

Posted by "anu238 ." <an...@gmail.com>.
Thanks Michael and Ramesh for your suggestions.
Best,
A

On Wed, Jan 27, 2016 at 6:38 AM, Ramesh Reddy <ra...@redhat.com> wrote:

> If you are using JEE/servlet containers (which you most probably are),
> then you need to implement some kind of web-security (basic, saml, oauth
> etc) and then depending upon the role/scope of the user accessing the
> service, you develop the access rules over entity layer. I am sure there
> may be other ways if you are Spring, but I am not familiar.
>
> Otherwise, as I suggested earlier in one of your earlier forum requests,
> you need to take a look at projects like Teiid, where I provide OData layer
> on top of many data sources (including mysql), and you can define access
> control layer in Teiid (much like a database) over your MySQL source, then
> apply the web-security layer roles over the OData access to control the
> individual's access.
>
> HTH
>
> Ramesh..
> http://teiid.org
>
> ----- Original Message -----
> > Hi Anurag,
> >
> > the Olingo library is mainly an implementation of the core OData
> > specification.
> > Based on that Olingo basically offers nothing beside the specification.
> >
> > For access control in special Olingo offers no support or convenience.
> > Best way to do access control is to check which options
> > your runtime environment offers to you (e.g. JEE Application servers).
> >
> > In which runtime environment do you deploy/run your OData service?
> >
> > Kind Regards,
> > Michael
> >
> > > On 27 Jan 2016, at 01:50, anu238 . <an...@gmail.com> wrote:
> > >
> > > All,
> > > Can you please guide me on what is the best way to control access to
> the
> > > entities in my EDM model?
> > > I will give an example to explain my use case:
> > > I have two entities named Products and Customers in my EDM model. I
> have
> > > three user1, user2,user3 who use my service .
> > > I want to allow  all users to have read access but only user2 to have a
> > > write access to these entities.
> > > I know odata specific does not talk to access control lists,
> > >
> > > I am curious to know what methods users of Olingo are using to
> restrict the
> > > access to the entities.
> > >
> > > Thanks a lot everyone for your help in advance.
> > >
> > > Thanks,
> > > Anurag
> >
> >
>

Re: Best way to control access to entities (I know acl is not part of odata specification)

Posted by Ramesh Reddy <ra...@redhat.com>.
If you are using JEE/servlet containers (which you most probably are), then you need to implement some kind of web-security (basic, saml, oauth etc) and then depending upon the role/scope of the user accessing the service, you develop the access rules over entity layer. I am sure there may be other ways if you are Spring, but I am not familiar. 

Otherwise, as I suggested earlier in one of your earlier forum requests, you need to take a look at projects like Teiid, where I provide OData layer on top of many data sources (including mysql), and you can define access control layer in Teiid (much like a database) over your MySQL source, then apply the web-security layer roles over the OData access to control the individual's access.

HTH

Ramesh..
http://teiid.org 

----- Original Message -----
> Hi Anurag,
> 
> the Olingo library is mainly an implementation of the core OData
> specification.
> Based on that Olingo basically offers nothing beside the specification.
> 
> For access control in special Olingo offers no support or convenience.
> Best way to do access control is to check which options
> your runtime environment offers to you (e.g. JEE Application servers).
> 
> In which runtime environment do you deploy/run your OData service?
> 
> Kind Regards,
> Michael
> 
> > On 27 Jan 2016, at 01:50, anu238 . <an...@gmail.com> wrote:
> > 
> > All,
> > Can you please guide me on what is the best way to control access to the
> > entities in my EDM model?
> > I will give an example to explain my use case:
> > I have two entities named Products and Customers in my EDM model. I have
> > three user1, user2,user3 who use my service .
> > I want to allow  all users to have read access but only user2 to have a
> > write access to these entities.
> > I know odata specific does not talk to access control lists,
> > 
> > I am curious to know what methods users of Olingo are using to restrict the
> > access to the entities.
> > 
> > Thanks a lot everyone for your help in advance.
> > 
> > Thanks,
> > Anurag
> 
> 

Re: Best way to control access to entities (I know acl is not part of odata specification)

Posted by "Bolz, Michael" <mi...@sap.com>.
Hi Anurag,

the Olingo library is mainly an implementation of the core OData specification.
Based on that Olingo basically offers nothing beside the specification.

For access control in special Olingo offers no support or convenience.
Best way to do access control is to check which options 
your runtime environment offers to you (e.g. JEE Application servers).

In which runtime environment do you deploy/run your OData service?

Kind Regards,
Michael

> On 27 Jan 2016, at 01:50, anu238 . <an...@gmail.com> wrote:
> 
> All,
> Can you please guide me on what is the best way to control access to the  entities in my EDM model?
> I will give an example to explain my use case:
> I have two entities named Products and Customers in my EDM model. I have three user1, user2,user3 who use my service .
> I want to allow  all users to have read access but only user2 to have a write access to these entities.
> I know odata specific does not talk to access control lists,
> 
> I am curious to know what methods users of Olingo are using to restrict the access to the entities.
> 
> Thanks a lot everyone for your help in advance.
> 
> Thanks,
> Anurag