簡體   English   中英

如何從Apache CXF中的ContainerRequestFilter獲取目標資源

[英]How to get Target Resource from ContainerRequestFilter in Apache CXF

我正在使用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中可以采用類似的方法嗎?

謝謝

只需在過濾器類中添加以下內容作為實例變量:

@Context

ResourceInfo信息;

“javax.ws.rs.container.ResourceInfo是一個新的JAX-RS上下文,可以將其注入到過濾器和攔截器中,並檢查哪些資源類和方法即將被調用。

(來源: https//cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Basics#JAX-RSBasics-ResourceInfo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM