Этот вопрос похож на тот, который я недавно спросил о переполнении стека, но я в основном просто использую код из CakePHP Book, а не свой собственный код, чтобы попытаться понять, почему что-то не работает.Аутентификация с адресом электронной почты в CakePHP v2.0
В принципе идея состоит в том, чтобы позволить пользователю войти в систему, используя свой адрес электронной почты, а также свое имя пользователя в версии 2.0 Cake. Однако он всегда возвращает, что детали неверны, но я могу STILL войти с именем пользователя, поэтому в основном переопределение в AppController ничего не меняет ... Более того, я пытаюсь выяснить, как разрешить оба поля для входа в систему.
Как обсуждалось в исходном сообщении здесь: Login with email address or username in 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');
}
}
}
Как выглядит ваш логин и модель пользователя? Можете ли вы опубликовать это также? – Oldskool
Это точно так же, как указано здесь: http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html все работает, так как я могу войти с использованием имени пользователя, но НЕ адрес электронной почты. – Cameron