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