有没有办法阻止对非授权客户端的 REST API 调用?有没有办法让API“仅限于”(公开)少数定义明确的客户?
谢谢 :-)
您可以在客户端和服务器之间部署相互验证的 SSL。您可以在此处使用自签名证书,因此您无需从 CA 购买任何证书。这将确保您的服务器仅接受来自具有客户端证书的客户端的请求(将您的服务器配置为仅接受部署在客户端上用于客户端身份验证的自签名客户端证书)。
如果您使用的是 RESTFul HTTP
您可以将 HttpServletFilter 添加到您的 web.xml 中,以防止未经授权的客户端访问您的 REST 方法。
如果您使用 Spring Framework,并且不想实现自己的 HttServletFilter,则可以使用Spring Security
您只需要在您的 RESTful 服务中实现安全机制,因此它拒绝访问未经授权的客户端(使用 404 或 401 响应代码)。有几种方法可以实现这一点: