buduję usługi odpoczynek przy użyciu mechanizmu uwierzytelniania/autoryzacji w sposób opisany w tym poradniku: http://howtodoinjava.com/2013/06/26/jax-rs-resteasy-basic-authentication-and-authorization-tutorial/Jakie jest właściwe zastąpienie urządzenia PreeConInterceptor Resteasy 3.X?
Zasadniczo wykorzystuje interfejs PreProcessInterceptor skanować metodę docelową dla adnotacji (z opakowaniem) javax.annotation.security opisujących wymaganych ról dostępu ta metoda. Jako że wystawca uwierzytelnienia jest tutaj przechwytywaczem, może anulować wywołanie metody docelowej, zwracając 401 (nieautoryzowane), jeśli jest to konieczne.
Problem polega na tym, że interfejs org.jboss.resteasy.spi.interception.PreProcessInterceptor jest przestarzały w aktualnej wersji programu RestEasy (3.0.1) i mam problemy z próbą zaimplementowania tego samego zachowania w standardzie Interfejsy JAX-RS.
Używam interfejsu javax.ws.rs.ext.ReaderInterceptor do przechwytywania połączenia. Ale jakoś serwer nigdy tego nie nazywa: przechwytywacz jest po prostu ignorowany.
mam rejestrację przechwytujących/zasobów w taki sam sposób jak ja z byłym PreProcessInterceptor i przy użyciu tego samego @Provider i adnotacje @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...
}
}
Wszelkie informacje o tym, jak mogę rozwiązać ten problem?
Dziękuję.
Zaktualizowano pełny przykład w innym poście: http://howtodoinjava.com/2013/07/25/jax-rs-2-0-resteasy-3-0-2-final-security-tutorial/ – lokesh