1

私のAppControllerで:

public $components = array('Auth' => array(
    'authenticate' => array('Blowfish')
),

私のUsersControllerで:

public function login() {    

if($this->request->isPost()) {
        $this->autoRender = false;
        if($this->Auth->login()) {
            $this->response->statusCode(200);
        }
        else {
            $this->response->statusCode(401);
        }
    }

}

また、応答に送信されるデータ/users/loginは常に 200 であり、ユーザーはログインしています。認証を強制的にログインさせずに、db でユーザー名とパスワードを確認するにはどうすればよいですか?

4

1 に答える 1

0

私もフグで悩んでいます。

しかし、パスワードを DB に保存する方法を変更したことを覚えていますか?

「ユーザー」モデルでこれを行う必要があります。

App::uses('Security', 'Utility');

class User extends AppModel {

public function beforeSave($options = array()) {
    // Use bcrypt
    if (isset($this->data['User']['password'])) {
        $hash = Security::hash($this->data['User']['password'], 'blowfish');
        $this->data['User']['password'] = $hash;
    }
    return true;
}

}
于 2013-03-08T13:15:46.477 に答える