は:http://howtodoinjava.com/2013/06/26/jax-rs-resteasy-basic-authentication-and-authorization-tutorial/Resteasy 3.X PreProcessInterceptorの適切な置き換えは何ですか?
は、基本的にはアクセスに必要なロールを記述する(javax.annotation.securityパッケージから)注釈のためのターゲット・メソッドをスキャンするPreProcessInterceptorインターフェースを使用していますその方法。ここでのオーセンティケータはインターセプタであるため、必要に応じて401(無許可)を返すように、ターゲットメソッドの呼び出しを取り消すことができます。
ここでの問題は、現在のRestEasyバージョン(3.0.1)ではインターフェイスorg.jboss.resteasy.spi.interception.PreProcessInterceptorが廃止予定であり、標準と同じ動作を実装しようとすると問題が発生していますJAX-RSインターフェイス
私はjavax.ws.rs.ext.ReaderInterceptorインターフェイスを使用して呼び出しを代行しています。しかし、どういうわけかサーバーは決してそれを呼びません。インターセプタは無視されます。
私はかつてPreProcessInterceptorで行ったのと同じ方法インターセプタ/リソースの登録、および同じ@Providerと@ServerInterceptor注釈使用しています:
サーバアプリケーション:
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