2

我正在尝试实现一个 api_login 函数。我的 UsersController 中有两个功能用于登录 1)Login

public function login() {
    if($this->request->is('post') && AuthComponent::user('id') == null) {
        if($this->Auth->login()) {
            return $this->redirect(array('controller' => 'users', 'action' => 'index'));
        }
        $this->Session->setFlash(__('Invalid username or password'));
    }
    else if(AuthComponent::user('id') != null){
        $this->redirect(array('action' => 'controls'));
    }
}

和 2) api_login

public function api_login() {
        if($this->request->is('post')) {
            if($this->Auth->login()) {
                $message = 'success';
                $this->set(array('message' => $message, '_serialize' => 'message'));
            }
            else {
                $message = 'fail';
                $this->set(array('message' => $message, '_serialize' => 'message'));
            }
        }
    }

login功能工作正常。但是我有问题api_login 当我使用像 POSTMAN 这样的 REST 客户端时,我向 POST 请求http://myProject/api/users/login.json,我无法登录(每次都显示“失败”)我尝试使用正确的凭据发布和登录。

我发布的文件是用户名:和密码:。我不明白我做错了什么。任何帮助将不胜感激。如果我遗漏了一些可以完整描述问题的内容,请询问。

4

1 回答 1

1

您需要在登录时传递您的帖子数据以检查用户名和密码

if ($this->Auth->login($this->request->data))

希望这可以帮助你

于 2015-01-16T07:14:35.227 回答