我有一个 JAX-RS Restful 网络服务。这个资源/网络服务是我们的资产。我将此服务 url 公开给调用此服务资源的第三方客户端。我想保护这项服务免受其他授权客户/供应商的侵害。
因此我的问题是——
这个怎么保护。
我想包括一个 API 密钥,并且 API 密钥应该与一个特殊的客户端 API 密钥匹配。而且我还需要匹配客户端 url 地址意味着请求来自哪个 url。
这个怎么做。如何获取调用我们的休息服务的 URL。我在 Tomcat 7.0 中部署我的休息。
谢谢
更新 -
@Path("report")
@Produces(javax.ws.rs.core.MediaType.APPLICATION_XML)
public class DnaReportResource {
@GET
@Produces(javax.ws.rs.core.MediaType.APPLICATION_XML)
public void getDnaReport(@Context UriInfo uri) {
System.out.println(uri.getRequestUri());
System.out.println(uri.getPath());
System.out.println(uri.getAbsolutePath());
System.out.println(uri.getBaseUri());
//MultivaluedMap<String, String> queryParams = uri.getQueryParameters();
}
}