Да, этот вопрос похож на вопрос, который я недавно задавал о переполнении стека, но я просто использую код из CakePHP Book, а не собственный код, чтобы попытаться понять, почему что-то не работает.
По сути, идея состоит в том, чтобы позволить пользователю войти в систему, используя свой адрес электронной почты, а также имя пользователя в версии 2.0 Cake.Однако всегда возвращается, что детали неверны, но я все равно могу войти в систему с именем пользователя, поэтому в основном переопределение в AppController ничего не меняет ... Более того, я пытаюсь выяснить, как разрешить оба поля для входа в систему.
Как обсуждалось в оригинальном сообщении здесь: Логин с адресом электронной почты или именем пользователя в CakePHP v2.0 @nIcO соединил что-то, что может работать в обоих случаях, но проблема, объясненная здесь, вызываетэто не сработает.
Есть идеи?Кто-нибудь получил адрес электронной почты, работающий с версией 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');
}
}
}