1

背景:

我们正在构建需要所有页面的登录信息的系统。该应用程序设计为使用codeigniter作为Phil Sturgeon库的 Restful 应用程序。

场景: - 用户调用任何页面 [客户端] 时需要用户名和密码 - 任何 Api 调用被触发时都需要身份验证

我有点困惑如何迁移或执行上述场景,以及验证应用程序的方法是什么。

4

2 回答 2

2

在 RESTful API 中对用户进行身份验证的一种简单方法是使用HTTP Basic 或 Digest Auth。在此设置中,用户凭据通过 Authorization 标头以username:passwordBase64 编码散列的形式发送到服务器。由于 REST 的原则规定客户端和服务器之间的通信应该是无状态的,因此客户端必须在每个请求上发送授权。实际上,这意味着您经常将凭据存储在客户端的会话中(因为您不希望用户在每个请求中都输入他的凭据)。请注意,您只能通过使用 HTTPS 的安全连接来执行此操作!

要对应用程序进行身份验证,您可以使用基于令牌的系统,例如 API-Key。这意味着任何请求都将使用额外的请求参数进行签名。如果应用程序的数量是有限且已知的,您也可以简单地通过它们的 IP 来识别它们。

您还可以查看OAuth

于 2013-06-16T23:15:14.630 回答
0

请求每个页面的登录名和密码更合适和更安全(我在我的项目中所做的),使用“虚拟”和存储在数据库中的会话可能是第二种解决方案,但不是一个好方法,因为这将是额外费用对于数据库。

于 2013-06-16T20:53:02.433 回答