この質問は最近私がStack Overflowで尋ねた質問に似ていますが、基本的には自分のコードではなくCakePHPブックのコードを使用しています何かがうまくいかない。CakePHP v2.0の電子メールアドレスで認証する
基本的な考え方は、ユーザーが自分のメールアドレスとCakeのバージョン2.0のユーザー名を使ってログインできるようにすることです。しかし、それは常に詳細が間違っていることを返しますが、私はまだユーザー名でログインすることができますので、基本的にAppControllerのオーバーライドは何も変更されません...ログインするために両方のフィールドを許可する方法を理解しようとしています。
ここで元の投稿で議論したように:Login with email address or username in CakePHP v2.0 @nIcOは、双方のフィールドでPontentiallyに働く可能性のあるものをまとめましたが、ここで説明されている問題は機能しません。
アイデア?誰でもバージョン2.0で動作する電子メールログインを得ました。
// AppController
public $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login'
),
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
// UsersController
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
return $this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth');
}
}
}
ログインビューとユーザーモデルはどのように見えますか?あなたもそれを投稿できますか? – Oldskool
これは正確にここに投稿されています:http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html私はユーザー名でログインできますが、電子メールアドレス。 – Cameron