Я строй службы отдыха с использованием механизма аутентификации/авторизации, как описано в данном руководстве: http://howtodoinjava.com/2013/06/26/jax-rs-resteasy-basic-authentication-and-authorization-tutorial/Какая надлежащая замена Resteasy 3.X PreProcessInterceptor?
В основном он использует интерфейс PreProcessInterceptor для сканирования целевой метод аннотаций (от javax.annotation.security пакета), которые описывают необходимые роли для доступа это способ. Поскольку аутентификатор здесь является перехватчиком, он может отменить вызов целевого метода, возвращая при необходимости 401 (несанкционированный).
Проблема заключается в том, что интерфейс org.jboss.resteasy.spi.interception.PreProcessInterceptor устарел в текущей версии RestEasy (3.0.1), и у меня возникают проблемы с попыткой реализовать то же поведение со стандартным Интерфейсы JAX-RS.
Я использую интерфейс javax.ws.rs.ext.ReaderInterceptor для перехвата вызова. Но почему-то сервер никогда не называет его: перехватчик просто игнорируется.
Я регистрации перехватчиков/ресурсы так же, как и я с бывшим PreProcessInterceptor, и используя тот же @Provider и @ServerInterceptor аннотаций:
ServerApplication:
public class ServerApplication extends javax.ws.rs.core.Application {
private final HashSet<Object> singletons = new LinkedHashSet<Object>();
public ServerApplication() {
singletons.add(new SecurityInterceptor());
singletons.add(...); //add each of my rest resources
}
@Override
public Set<Class<?>> getClasses() {
HashSet<Class<?>> set = new HashSet<Class<?>>();
return set;
}
@Override
public Set<Object> getSingletons() {
return singletons;
}
}
SecurityInterceptor:
@Provider
@ServerInterceptor
public class SecurityInterceptor implements javax.ws.rs.ext.ReaderInterceptor {
@Override
public Object aroundReadFrom(ReaderInterceptorContext context){
//code that is never called... so lonely here...
}
}
Любая информация о том, как решить эту проблему?
спасибо.
Обновленный полный пример в другом посте: http://howtodoinjava.com/2013/07/25/jax-rs-2-0-resteasy-3-0-2-final-security-tutorial/ – lokesh