假设我的 REST API URL 是
http://myshop.com/rest/api/product/1
我希望仅在公司网络内调用此返回数据时返回此数据,其他人不应返回任何结果。
以下是可以访问/无法访问的用例
-
用户从网络外部访问它,但通过部署在 JBoss 服务器上的 JSF/CDI 应用程序使用它。(应该是可访问的)
-
用户直接从网络内部访问 URL(通过 rest 客户端或直接在浏览器窗口中键入 URL)(应该是可访问的)
-
用户从网络外部直接访问 URL(通过 rest 客户端或直接在浏览器窗口中键入 URL)(不应访问)
感谢您的观看。
我建议从请求中获取一个 IP 地址,然后通过允许的 IP 或子网掩码进行检查。如果您使用的是 JAX-RS API,如何获取 IP 地址,您可以在此处找到:如何在 Heroku 上使用 JAX-RS 找出传入的 RESTful 请求的 IP?
另一种选择当然是通过防火墙或服务器设置阻止传入请求。