2

api_login 関数を実装しようとしています。ログインするためにUsersControllerに2つの機能があります1)ログイン

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 に答える