【发布时间】:2013-02-25 08:04:43
【问题描述】:
我正在启动一个新项目(一个 Web 应用程序),并希望它通过 REST Web 服务使用 AJAX 检索和提交其大部分数据。但我几乎不知道如何确保网络服务知道谁在访问它,并且只将数据提供给符合条件的人。
【问题讨论】:
标签: web-services security http rest authentication
我正在启动一个新项目(一个 Web 应用程序),并希望它通过 REST Web 服务使用 AJAX 检索和提交其大部分数据。但我几乎不知道如何确保网络服务知道谁在访问它,并且只将数据提供给符合条件的人。
【问题讨论】:
标签: web-services security http rest authentication
REST Web 服务是无状态的,因此身份验证也应该是无状态的。
这种身份验证最常用的方法是使用 HTTP 身份验证标头(详见此处 --> http://www.ietf.org/rfc/rfc2617.txt)。这里的先决条件是您应该使用 SSL\HTTPS 否则这些 HTTP 身份验证标头将容易受到中间人攻击。
如果您的网站不使用 SSL,那么您可能应该寻找其他身份验证方法,这篇 (http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/) 文章详细讨论了所有这些方法。它基本上描述了 Amazon Web Services 用来验证非 SSL 请求的机制。
希望这会有所帮助。
【讨论】: