[英]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.