cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Hay <david....@enstratius.com>
Subject Re: name-binding validation across SOAP & REST
Date Thu, 27 Mar 2014 13:51:20 GMT
Actually, I'd like to pass a parameter in the annotation...which I could
retrieve in the filter and use for that particular method.

Something like:

@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(value = RetentionPolicy.RUNTIME)
@NameBinding
public @interface Authorize {
    String somethingToCheck();
}

cheers

David






On Thu, Mar 27, 2014 at 9:20 AM, Sergey Beryozkin <sberyozkin@gmail.com>wrote:

> Hi
>
> On 27/03/14 13:10, David Hay wrote:
>
>> Hi Sergey,
>>
>> Ah, I saw it in the spec, but didn't realize it's not implemented.  I just
>> saw a thread from Aug 2013 where you had an implementation on a branch?
>>  It
>> would be very useful...we have hundreds of methods...
>>
>>  I don't recall I was doing something around the method specific static
> binding of CXF interceptors, but I agree it can make sense to do some
> related enhancements, the only question is when, may be for 3.1 or later...
>
>  Also, do you know if there is any way to pass a parameter in the filter
>> name binding?
>>
>>  You mean from ContainerRequestFilter to the application code ?
> One way is to set a property on ContainerRequestContext and extract it
> from the code using HttpServletRequest.getAttribute(), not cool, there's
> an enhancement request to make it simpler.
> Another option is may be to add a custom header to ContainerRequestContext
> and extract it as a header from the code, etc...
>
> Cheers. Sergey
>
>
>  thanks!
>>
>>
>> On Thu, Mar 27, 2014 at 6:55 AM, Sergey Beryozkin <sberyozkin@gmail.com
>> >wrote:
>>
>>  Hi David,
>>>
>>> CXF does not have the support right now for statically binding CXF
>>> interceptors to methods. I guess we can explore it going forward, as part
>>> of the future CXF work.
>>> For example, CXF has an @InInterceptors annotation - may we can support
>>> binding it to individual methods, etc. May be we can have a CDI or
>>> CDI-like
>>> mechanism (as in JAX-RS 2.0) supported too.
>>> At the moment the workaround is to have an interceptor checking for the
>>> Method, for example, check SimpleAuthorizingInterceptor in the core
>>> package...
>>>
>>> HTH, Sergey
>>>
>>>
>>> On 26/03/14 00:42, David Hay wrote:
>>>
>>>  Well, I didn't know that Interceptors can be applied using Name Binding,
>>>> so
>>>> I think I can just use that?
>>>>
>>>> However, I would really like to pass some data for each particular
>>>> method
>>>> that it's bound too (a list of things to check in each situation) ie
>>>> there
>>>> would be a generic method that would take the things passed to it for
>>>> that
>>>> method, and use them to check the call should be allowed.
>>>>
>>>> Any ideas on how I would accomplish that?
>>>>
>>>> thanks!
>>>>
>>>>
>>>> On Tue, Mar 25, 2014 at 2:54 PM, David Hay <david.hay@enstratius.com>
>>>> wrote:
>>>>
>>>>   Hi,
>>>>
>>>>>
>>>>> I have set up some filters that extend ContainerRequestFilter and are
>>>>> name-bound to certain methods.
>>>>>
>>>>> I have a need to name-bind the same filter code across both SOAP and
>>>>> REST
>>>>> methods...
>>>>>
>>>>> Is this possible?
>>>>>
>>>>> thanks!
>>>>>
>>>>> David
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

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