Вход по умолчанию не работает в cakephp 3.2

Я новичок в CakePHP 3.2. Я выполнил вход, используя код CakePHP,
но существует необходимость создания имени входа по умолчанию (означает, что независимо от того, какой идентификатор входа и пароль присутствуют в базе данных, если я предоставлю имя пользователя и пароль по умолчанию, имя входа будет работать.).

Ниже код

if(($data['email'] == 'admin@gmail.com') && ($data['password'] == '123456')) {
$getMasterLogin = $this->Users->find('all')->where(['Users.type' => 1])->first();
$user = $this->Auth->identify($getMasterLogin);//pj($user);exit;//alaway returnig false
//$this->Auth->setUser($user);
return $this->redirect(['action' => 'index']);
}

Вот $this->Auth->identify всегда возвращает ложь.
Я сделал раздел входа в соответствии с кулинарной книгой, но я не могу сделать этот вход по умолчанию. Мне это очень нужно.
Извини .
Пожалуйста, предложите мне.

0

Решение

Хотя это очень и очень плохая идея и открывает вашу систему для всевозможных хакерских атак. Вы должны создать администратора в своей базе данных.

Тем не менее, ответ на ваш актуальный вопрос:

identify() не принимает никаких аргументов, скорее он аутентифицируется на основе данных текущего запроса, поэтому, если у вас нет пользователя, сопоставляющего эти данные в вашей базе данных, он всегда вернет false. Что вы хотите сделать, это просто позвонить setUser($getMasterLogin) следующее:

if(($data['email'] == 'admin@gmail.com') && ($data['password'] == '123456')) {
$getMasterLogin = $this->Users->find('all')->where(['Users.type' => 1])->first();
$this->Auth->setUser($getMasterLogin);
return $this->redirect(['action' => 'index']);
}

Вы можете присоединиться к каналу поддержки CakePHP через http://cakesf.herokuapp.com/ и вы сможете задавать вопросы и получать ответы в режиме реального времени!

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector