0

我使用 CodeIgniter 1.7 框架来制作我的网站。另一个团队为 iPhone 做移动版本。所以其他团队要求我做一个网络服务进行身份验证。他们告诉他们会寄给我:

POST REQUEST 
Input : login , password, push_token
if failure authentification -> Output HTTP : error code 0
if success -> Output XML :
<DATA>
 <User id='id_user' title='..' first_name='' last_name='' email='' postal='' country_id=''/> 
</DATA>

基本上我有这个功能进行身份验证:

function check_login($username="", $password="")
{
$username = $_POST['username'];
$password = $_POST['password'];
...
...
}

我正在查看这篇文章Codeigniter Web 服务,但我不明白它是如何工作的,因为我是 Web 服务的新手。

4

2 回答 2

5

我会考虑使用 json 作为唯一输出,其中一个值是TRUEFALSE取决于成功。它更容易处理,并且只需要您的网站使用 utf8。

如果您有check_login()回报TRUE,请将其作为成功的条件。

回复示例:

/* Class etc. */

function do_login() {
    $arr_json = array('success' => FALSE);
    if ($this->login_library->check_login()) {
        $arr_json['success'] = TRUE;
        $arr_json['user_id'] = $this->login_library->user_id;
    }
    echo json_encode($arr_json);
}

login_library只是您登录的图书馆的一个例子。他们收到的回复只需要通过json_decode(). 然后只需检查密钥success是否TRUE存在。

如果需要,可以使用额外的键或类似键,您可以通过form_validationerror_message运行所有后置值。然后你也可以在之前有。$arr_json['error_message'] = trim(validation_errors('', "\n"));echo

于 2012-11-27T10:02:56.507 回答
2

你一定要看看 Phil Sturgeons CodeIgniter Rest Server:

https://github.com/philsturgeon/codeigniter-restserver

有一个很好的文档。他还对此进行了截屏:http: //philsturgeon.co.uk/blog/2011/03/video-set-up-a-rest-api-with-codeigniter

此外,您可以看看这篇文章,亚当惠特尼解释了他的方法:

使用 CodeIgniter 构建 RESTful 服务

http://adamwhitney.net/blog/?p=707

于 2012-11-27T09:51:21.313 回答