Как использовать настройку Find Query для аутентификации в CakePHP 3.4

Мне нужно аутентифицировать пользователя, используя Customizing Find Query для аутентификации в CakePHP 3.4. Я следовал за кулинарной книгой для этого, но в моем findAuth метод $option возвращается пустым array, Я не знаю, в чем заключается ошибка в коде.

public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'finder' => 'auth',
'fields' => ['username' => 'username', 'password' => 'password']
]
],
]);
}

UsersTable.php

public function findAuth(\Cake\ORM\Query $query, array $options)
{
debug($options);
$query->select(['sno', 'username', 'password','contact'])
->where(['Users.username' => $options['username']]);
return $query;
}

login.ctp

<?php
echo $this->Form->create();
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->submit();
echo $this->Form->end();
?>

1

Решение

   public function findAuth(\Cake\ORM\Query $query, array $options)
{
debug($options);
$query->select(['sno', 'username', 'password','contact'])
->where(['Users.username' => $options['username']]);
return $query;
}

должно быть :

public function findAuth(\Cake\ORM\Query $query, array $options)
{
debug($options);
$query->select(['sno', 'username', 'password','contact']));
return $query;
}

Рекомендации : https://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-custom-authentication-objects

0

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

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

По вопросам рекламы [email protected]