I should probably also ask if CXF supports:

import javax.annotation.security.RolesAllowed; 

@RolesAllowed("ADMIN") 

At first glance, it doesn't seem to - but if this does work then I don't 
need to get the securitycontext..


John Baker
-- 
Web SSO 
IT Infrastructure 
Deutsche Bank London

URL:  http://websso.cto.gt.intranet.db.com


John-M Baker <[EMAIL PROTECTED]> wrote on 23/06/2008 15:46:36:

> Dan,
> 
> I have done this:
> 
>    /**
>     * Retrieve an application configuration by id.
>     * 
>     * Webservice method.
>     */
>    Response getApplicationConfiguration(@PathParam("id") String id);
> 
>    /**
>     * Retrieve an application configuration by id.
>     * 
>     * REST method.
>     */
>    @GET
>    @Path("/get/{id}/")
>    @ProduceMime("application/xml")
>    @WebMethod(exclude = true)
>    Response getApplicationConfiguration(@PathParam("id") String id, 
>          @Context SecurityContext sc);
> 
> And in the implementation, the former calls the latter passing the 
global 
> variable set from the setter method - which currently does not work. 
Which 
> brings me back to the question on a timeline for when the setter method 
> solution will work?
> 
> Also, I see weblogic's WS implementation has a concept of permissioning 
as 
> follows:
> 
>     @RolesAllowed([EMAIL PROTECTED](role=AUTHORIZE)})
>     public boolean authorize(AuthorizeRequest request) {
> 
> Would this be something CXF may support?  Annotating methods with roles 
> does seem a nice feature.  I was just about to read the jax-ws 
> specificaiton to see if it mentioned this approach, but I'm sure you 
guys 
> have a better idea!
> 
> 
> 
> John Baker
> -- 
> Web SSO 
> IT Infrastructure 
> Deutsche Bank London
> 
> URL:  http://websso.cto.gt.intranet.db.com
> 
> 
> 
> 
> Daniel Kulp <[EMAIL PROTECTED]> 
> 23/06/2008 15:29
> Please respond to
> [email protected]
> 
> 
> To
> [email protected]
> cc
> 
> Subject
> Re: Roles and permissions
> 
> 
> 
> 
> 
> 
> 
> You probably will need to split it into two methods, one that takes 
> the JAX-RS SecurityContext and one that doesn't and instead uses the 
> WebServiceContext.    Probably the two of those would just pull the 
> required stuff out and pass them to a common third method that's only 
> in the impl, not the interface.
> 
> Dan
> 
> 
> On Jun 23, 2008, at 10:22 AM, John-M Baker wrote:
> 
> > Yes!!  Sorry, I missed this completely.
> >
> > Therefore shall I conclude there's no way of getting a 
> > SecurityContext for
> > a WS call until a future release of CXF?
> >
> >
> > John Baker
> > -- 
> > Web SSO
> > IT Infrastructure
> > Deutsche Bank London
> >
> > URL:  http://websso.cto.gt.intranet.db.com
> >
> >
> >
> >
> > "Sergey Beryozkin" <[EMAIL PROTECTED]>
> > 23/06/2008 15:13
> > Please respond to
> > [email protected]
> >
> >
> > To
> > <[email protected]>
> > cc
> > <[email protected]>
> > Subject
> > Re: Roles and permissions
> >
> >
> >
> >
> >
> >
> >
> >>> *********Shortly, the following form of injection will also be
> > supported***** :
> >
> > Does it answer your question ?
> >
> >
> > Cheers, Sergey
> >
> >>>
> >>> @Context
> >>> void setSecurityContext(SecurityContext sc) {}
> >>
> >> That doesn't work either due to a compile error:
> >>
> >> annotation type not applicable to this kind of declaration
> >>   [javac]    @Context
> >>   [javac]     ^
> >>   [javac] 1 error
> >>
> >> Are you absolutely sure this setter logic will work through a REST 
> >> call?
> > I
> >> haven't tried a WS call yet, I'd like one solution for both types of
> >> service.
> >>
> >>
> >> John
> >>
> >>> About ServletContext : only @Resource annotated field of this type
> >>> can be injected. @Context annotated fields of this type (and
> >>> setters and parameters) will also be supported shortly.
> >>>
> >>> Cheers, Sergey
> >>>
> >>>
> >>>
> >>>
> >>>> Sergey,
> >>>>
> >>>> To confirm, if I remove the Webservice configuration and annotate a
> >>>> parameter to a method, the SecurityContext is set as expected.
> >>>>
> >>>> So what i'm looking for is a solution for a bean exposed through WS
> >> and
> >>>> REST, and given we can't expose a bean through a WS when a method 
> >>>> has
> >> been
> >>>> annotated, a setter seems the only way forward  -  but that 
> >>>> currently
> >>>> doesn't work.
> >>>>
> >>>>
> >>>> John Baker
> >>>> -- 
> >>>> Web SSO
> >>>> IT Infrastructure
> >>>> Deutsche Bank London
> >>>>
> >>>> URL:  http://websso.cto.gt.intranet.db.com
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> John-M Baker <[EMAIL PROTECTED]>
> >>>> 23/06/2008 12:08
> >>>> Please respond to
> >>>> [email protected]
> >>>>
> >>>>
> >>>> To
> >>>> [email protected]
> >>>> cc
> >>>> [email protected]
> >>>> Subject
> >>>> Re: Roles and permissions
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Sergey,
> >>>>
> >>>> Thanks for your feedback, and congratulations on the new 2.1.1.
> >> release of
> >>>>
> >>>> CXF.  I'm using this release I can not get access to the
> >> ServletContext or
> >>>>
> >>>> SecurityContext within a bean when called via REST.  Here's what 
> >>>> I've
> >>>> added:
> >>>>
> >>>> private ServletContext sc;
> >>>>
> >>>> public void setServletContext(@Context  ServletContext sc)
> >>>> { this.sc = sc; }
> >>>>
> >>>> and
> >>>>
> >>>> private SecurityContext sc;
> >>>>
> >>>> public void setServletContext(@Context  SecurityContext sc)
> >>>> { this.sc = sc; }
> >>>>
> >>>> sc is null in both cases when a REST call is made.  Are more
> >> annotations
> >>>> required?
> >>>>
> >>>> Any thoughts?
> >>>>
> >>>>
> >>>> John Baker
> >>>> -- 
> >>>> Web SSO
> >>>> IT Infrastructure
> >>>> Deutsche Bank London
> >>>>
> >>>> URL:  http://websso.cto.gt.intranet.db.com
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> "Sergey Beryozkin" <[EMAIL PROTECTED]>
> >>>> 23/06/2008 11:20
> >>>> Please respond to
> >>>> [email protected]
> >>>>
> >>>>
> >>>> To
> >>>> <[email protected]>
> >>>> cc
> >>>>
> >>>> Subject
> >>>> Re: Roles and permissions
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Yes, I don't remember offhand how, have a look at the JAX-WS docs
> >> please,
> >>>> I think it can be injected through a field or through a
> >>>> setter. Perhaps using a setter is better in cases like this, as you
> >> can
> >>>> then extract the common info from either JAX-WS
> >>>> WebServiceContext or JAX-RS SecurityContext.
> >>>>
> >>>> Perhaps, in the future, things like SecurityContext in both JAX-WS
> > and
> >>>> JAX-RS can rely on some shared (CXF utility) code so that
> >>>> they can be casted to a common class to be used by the 
> >>>> application...
> >>>>
> >>>> Cheers, Sergey
> >>>>
> >>>> ----- Original Message -----
> >>>> From: "John-M Baker" <[EMAIL PROTECTED]>
> >>>> To: <[email protected]>
> >>>> Sent: Monday, June 23, 2008 9:36 AM
> >>>> Subject: Re: Roles and permissions
> >>>>
> >>>>
> >>>>> And how is that done?  Via a set method of some kind?
> >>>>>
> >>>>> John Baker
> >>>>> -- 
> >>>>> Web SSO
> >>>>> IT Infrastructure
> >>>>> Deutsche Bank London
> >>>>>
> >>>>> URL:  http://websso.cto.gt.intranet.db.com
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> Daniel Kulp <[EMAIL PROTECTED]>
> >>>>> 20/06/2008 18:13
> >>>>> Please respond to
> >>>>> [email protected]
> >>>>>
> >>>>>
> >>>>> To
> >>>>> [email protected]
> >>>>> cc
> >>>>>
> >>>>> Subject
> >>>>> Re: Roles and permissions
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Jun 20, 2008, at 11:23 AM, John-M Baker wrote:
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> What was the solution to this problem?  Only apply it to the REST
> >>>>>> service?
> >>>>>> Will a future release of CXF fix it for SOAP?
> >>>>>>
> >>>>>
> >>>>> Well, JAX-WS has it's own security stuff.    Thus, for jax-ws/ 
> >>>>> soap,
> >>>>> you would need the WebServiceContext injected which has the
> >> principal/
> >>>>> role on it.
> >>>>>
> >>>>> Dan
> >>>>>
> >>>>
> >>>> ----------------------------
> >>>> IONA Technologies PLC (registered in Ireland)
> >>>> Registered Number: 171387
> >>>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4,
> >> Ireland
> >>>>
> >>>>
> >>>>
> >>>> ---
> >>>>
> >>>> This e-mail may contain confidential and/or privileged information.
> > If
> >> you
> >>>> are not the intended recipient (or have received this e-mail in
> > error)
> >>>> please notify the sender immediately and delete this e-mail. Any
> >>>> unauthorized copying, disclosure or distribution of the material in
> >> this
> >>>> e-mail is strictly forbidden.
> >>>>
> >>>> Please refer to http://www.db.com/en/content/eu_disclosures.htm for
> >>>> additional EU corporate and regulatory disclosures.
> >>>>
> >>>>
> >>>> ---
> >>>>
> >>>> This e-mail may contain confidential and/or privileged
> >>> information. If you are not the intended recipient (or have received
> >> this
> >>>> e-mail in error) please notify the sender immediately and delete
> >>> this e-mail. Any unauthorized copying, disclosure or distribution
> >>>> of the material in this e-mail is strictly forbidden.
> >>>>
> >>>> Please refer to http://www.db.com/en/content/eu_disclosures.htm
> >>> for additional EU corporate and regulatory disclosures.
> >>>
> >>> ----------------------------
> >>> IONA Technologies PLC (registered in Ireland)
> >>> Registered Number: 171387
> >>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4,
> >> Ireland
> >>
> >>
> >> ---
> >>
> >> This e-mail may contain confidential and/or privileged information. 
> >> If
> > you are not the intended recipient (or have received this
> >> e-mail in error) please notify the sender immediately and delete this
> > e-mail. Any unauthorized copying, disclosure or distribution
> >> of the material in this e-mail is strictly forbidden.
> >>
> >> Please refer to http://www.db.com/en/content/eu_disclosures.htm for
> > additional EU corporate and regulatory disclosures.
> >
> > ----------------------------
> > IONA Technologies PLC (registered in Ireland)
> > Registered Number: 171387
> > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, 
> > Ireland
> >
> >
> >
> > ---
> >
> > This e-mail may contain confidential and/or privileged information. 
> > If you are not the intended recipient (or have received this e-mail 
> > in error) please notify the sender immediately and delete this e- 
> > mail. Any unauthorized copying, disclosure or distribution of the 
> > material in this e-mail is strictly forbidden.
> >
> > Please refer to http://www.db.com/en/content/eu_disclosures.htm for 
> > additional EU corporate and regulatory disclosures.
> 
> ---
> Daniel Kulp
> [EMAIL PROTECTED]
> http://www.dankulp.com/blog
> 
> 
> 
> 
> 
> 
> 
> ---
> 
> This e-mail may contain confidential and/or privileged information. 
> If you are not the intended recipient (or have received this e-mail 
> in error) please notify the sender immediately and delete this e-
> mail. Any unauthorized copying, disclosure or distribution of the 
> material in this e-mail is strictly forbidden.
> 
> Please refer to http://www.db.com/en/content/eu_disclosures.htm for 
> additional EU corporate and regulatory disclosures.

---

This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error) please 
notify the sender immediately and delete this e-mail. Any unauthorized copying, 
disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional 
EU corporate and regulatory disclosures.

Reply via email to