[英]Apache CXF - JAX-RS Security
努力使Kerberos身份驗證的Web服務啟動並運行,並且在Apache CXF似乎滿足我的要求的同時,我仍在努力啟動。
托管在Tomcat 7上,我的超級簡單測試服務可以運行,但是我不知道如何獲得CXF來提供安全性:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Path("test")
public class ItemResource {
public ItemResource() {
}
@GET
@Produces("application/json")
public String getJson(@QueryParam("name") int test) {
return "test";
}
}
在web.xml
<servlet>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>net.example.test/param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
該文檔說我可以使用org.apache.cxf.jaxrs.security.KerberosAuthenticationFilter保護Rest服務,但是我不確定如何做到這一點。
任何幫助,將不勝感激。
如果要使用CXF的KerberosAuthenticationFilter
,則必須使用CXF作為JAX-RS實現,而不是Jersey。
您可以在CXF JAX-RS幫助頁面或本教程中找到如何做到這一點 。 首先,您必須從web.xml
刪除所有配置,因為它僅對Jersey有效。 然后按照教程創建服務。
最后,您必須像引用的文檔中一樣將提到的KerberosAuthenticationFilter
添加到CXF彈簧配置中。
編輯:
因為鏈接的教程確實無法運行,所以我對其進行了修復。 您可以從我的github項目RestWithCXF下載它。
您可能還會在CXF發行版的samples\\jax_rs
中找到有用的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.