3

Apache CXF を使用して RESTful Web サービスを作成しています。@Authenticate でアノテーションが付けられたリソースへのリクエストの認証を行いたいです。このため、ContainerRequestFilter に一致する投稿を作成し、リクエストを検証して、認証が失敗した場合は ContainerRequestContext.abortWith(javax.ws.rs.core.Response) を実行するつもりです。ただし、@Authenticate で注釈が付けられたリソースに対してのみ認証を行いたいと考えています。

問題は、一致したリソースにアクセスする方法がわからないことです。CXF インターセプターを使用してそれを実行できることはわかっていますが、JAX-RS 2.0 が提供するものに固執したいと考えています。別の投稿で、Rest-easy で以下を使用できることを見ました

ResourceMethodInvoker methodInvoker = (ResourceMethodInvoker) 
            requestContext.getProperty("org.jboss.resteasy.core.ResourceMethodInvoker");
Method method = methodInvoker.getMethod();

同様のアプローチを CXF で行うことはできますか?

ありがとう

4

1 に答える 1

0

以下をフィルター クラスにインスタンス変数として追加するだけです。

@環境

ResourceInfo 情報;

"javax.ws.rs.container.ResourceInfo は新しい JAX-RS コンテキストであり、フィルターとインターセプターに挿入して、どのリソース クラスとメソッドが呼び出されようとしているかを確認できます。 "

(ソース: https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Basics#JAX-RSBasics-ResourceInfo )

于 2013-12-11T13:05:40.413 に答える