Hi Guys, I feel there is an advantage of this feature to shindig, If so I would like to contribute my solution (if it is accepted as a viable one) as a patch, so shindig users who need such functionality can add few configuration and leverage the benefit.
Thanks & Regards, /Nuwan On Wed, Nov 17, 2010 at 7:41 PM, Nuwan Bandara <nu...@bandara.co> wrote: > Hi Jesse, > > Thanks for your idea, however, I dont think it can solve the issue I am > facing, let me explain a little > > On Wed, Nov 17, 2010 at 7:19 PM, Ciancetta, Jesse E. <jc...@mitre.org>wrote: > >> Hi Nuwan, >> >> I'm wondering if a servlet filter might be a possible solution to this >> problem. Since it sounds like everything is running under the same servlet >> container, I think you could just drop a servlet filter in front of any >> /gadgets/ifr requests and within the filter get access to the users current >> session -- then just do whatever checks you need to ensure that the current >> user is authorized to render the requested gadget, returning a 401 if they >> aren't. Then nothing on the shindig side needs to change and you can still >> take advantage of shindigs ability to cache previously fetched gadget specs. >> > > Yes, you can front a servlet filter, and do the validation. But Assume > User-A passes the validation and that he can access the gadget spec, and > once it passes the filter and do the fetch via shindig (via shindigs > networkFetch), my back-end gadget spec serving servlet doesn't know that the > request is coming from User-A, since shindig doesn't have the logged-in > session details to pass with the request. So at that point shindig cannot > access my gadget spec, since its restricted to anonymous requests. > > >> >> Although as I think through this a little more -- it sounds like the >> gadget specs themselves might contain sensitive data -- and the scenario >> above assumes shindig has open access to the specs (since it wouldn't be >> sending along any user identifier when it fetches the spec). In that case >> maybe you could restrict access to the gadget specs to only allow access if >> the request originated from the gadget server directly? Hmm -- but then >> people could still get to them through shindigs various proxy mechanisms... >> >> So I guess I'm not really sure if this helps or not, but I thought it >> might at least give you some other ideas... >> > > Again thanks for your suggestion, The only solution I see is to pass the > browser session cookie along with the request, but I wanted to know if there > are any other solutions. > > Thanks & Regards, > /Nuwan > > >> >> --Jesse >> >> -----Original Message----- >> From: bandara.nu...@gmail.com [mailto:bandara.nu...@gmail.com] On Behalf >> Of Nuwan Bandara >> Sent: Wednesday, November 17, 2010 3:58 AM >> To: dev@shindig.apache.org >> Subject: Re: Session aware gadget xml fetching. >> >> Hi John, >> >> I have a solution for this problem, however when it comes to caching, it >> introduces a limitation. Let me elaborate on it. >> >> I have a container (Gadget Server), which wraps shindig to perform gadget >> rendering functionality. The server also provide a repository to store >> gadget and all other standard portal specific feature (users/roles etc). >> >> When a user login to the server, there will be an authenticated session >> created. but the issue is that shindig is not using this session. My >> solution is to delegate the browser cookie to shindig, where shindig will >> append this cookie to its request and perform the fetch. So at that point >> the container will have access to the authenticated session. >> >> but as I mentioned the tradeoff will be caching. For the gadgets which are >> hosted in the same container I cannot provide caching as an option. WDYT ? >> >> Thanks & Regards, >> /Nuwan >> >> On Wed, Nov 17, 2010 at 1:29 PM, John Hjelmstad <fa...@google.com> wrote: >> >> > Hi Nuwan: >> > >> > This is actually a somewhat common pattern, assuming I understand you >> > correctly. >> > >> > One question, how do you propose to get session information to the >> gadget >> > renderer in the first place? Typically the renderer is hosted on a jail >> > domain isolated from any container, so the security token is >> occasionally >> > used. >> > >> > Injection of some kind of Provider<SessionContext> is injected where >> this >> > evaluation is needed -- such as the HttpFetcher impl, and perhaps the >> > RequestPipeline as well to ensure that caching is consistent w/ whatever >> > policy you're implementing as well. >> > >> > --j >> > >> > On Tue, Nov 16, 2010 at 7:40 PM, Nuwan Bandara <bandara.nu...@gmail.com >> > >wrote: >> > >> > > Hi Devs, >> > > >> > > I am facing a difficulty, while using shindig to make session aware >> calls >> > > to >> > > fetch gadget xmls. My requirement is as follows. >> > > >> > > When shindig is running as the gadget renderer, and when there are >> > gadgets >> > > hosted in the same container, there should be a mechanism to use the >> > > current >> > > http session when fetching these gadget xmls. The requirement is, >> there >> > can >> > > be gadgets which are specific to some users (based on roles), and if >> the >> > > web >> > > application supports user/role based permissions, if shindig makes >> > session >> > > aware requests to the container, only the permitted gadgets can be >> > > retrieved >> > > from the container. >> > > >> > > I am aware this is not always the case where gadgets are taken from >> > > external >> > > locations, but if this is also supported in a configurable manner, I >> > > believe >> > > it would be quite useful. WDYT ? >> > > >> > > Regards, >> > > /Nuwan >> > > >> > >> >> >> >> -- >> Thanks & Regards, >> >> Nuwan Bandara >> - www.nuwanbando.com - Stranger Than Fiction >> >> [ http://www.linkedin.com/in/nuwanbandara ] >> [ http://www.twitter.com/nuwanbando ] >> > > > > -- > Thanks & Regards, > > Nuwan Bandara > - www.nuwanbando.com - Stranger Than Fiction > > [ http://www.linkedin.com/in/nuwanbandara ] > [ http://www.twitter.com/nuwanbando ] > -- Thanks & Regards, Nuwan Bandara - www.nuwanbando.com - Stranger Than Fiction [ http://www.linkedin.com/in/nuwanbandara ] [ http://www.twitter.com/nuwanbando ]