阻止REST API调用

时间:2012-04-09 06:45:11

标签: security authentication rest

有没有办法阻止对非授权客户端的REST API调用? 有没有办法让API“限制”为(公开)只有少数明确定义的客户?

谢谢: - )

3 个答案:

答案 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响应代码)。有几种方法可以实现这一目标:

  • 中继HTTP身份验证机制,例如Basic Authentication
  • 实现自定义身份验证框架,克服HTTP基本身份验证限制。 Amazon有一个有趣的方法,包括自定义HTTP标头并支持散列。
  • 使用现有的安全框架并将其功能添加到您的服务中。 Spring Security听起来很不错。