【发布时间】:2013-09-27 07:03:16
【问题描述】:
我有一个 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();
}
}
【问题讨论】:
-
apache 配置可能与这类事情有更多关系。除非你没有运行 apache 而你只是在使用 tomcat。
-
@FaddishWorm 我使用的是 Tomcat Apache 7.0 服务器。
标签: java web-services security rest jax-rs