我有一个JAX-RS Restful webservice。这个资源/网络服务对我们来说很有用。我将此服务URL暴露给将调用此服务资源的第三方客户端。我想从其他授权客户/供应商处保护此服务。
因此我的问题是 -
如何保护这一点。
我想包含API密钥,API密钥应与perticuler客户端API密钥匹配。而且我还需要匹配来自请求即将发送的客户端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();
}
}
答案 0 :(得分:0)
从您的servlet处理程序中,您可以调用
String url = request.getRequestURL().toString();
Getting request URL in a servlet
修改
你试过吗? String url = uri.getRequestUri().toString();
它返回什么?
答案 1 :(得分:0)
您可以使用Tomcat Realm配置来验证您的客户端。